| 方案 | 步驟 |
|---|---|
| A: COUNT + LIMIT | 1) SELECT COUNT(1) ... 取總筆數2) SELECT * ... LIMIT offset, size 取當頁資料3) 總筆數透過隱藏欄位/Session 傳遞 |
| B: 全取 + 游標移動 | 1) SELECT * ... 取全結果集2) mysql_data_seek() 移動指標至 offset3) 讀取 size 筆 |
方案 A 首頁平均: 1.3 秒
方案 A 其他頁平均: 1.9 秒
方案 B 首頁平均: (原文數據缺失)
方案 B 其他頁平均: (原文數據缺失)
效率比: 4.8125 (疑為 A/B 某指標比值)
mysql_data_seek 在無緩衝查詢下不可用SELECT COUNT(*) ... + SELECT ... LIMIT ?, ?(配合索引),或使用 SQL_CALC_FOUND_ROWS + FOUND_ROWS() 減少一次查詢