一、分頁查詢優化 (測試500萬數據量的查詢時間)
limit 分頁查詢優化: limit m,n 掃描符合條件的 m+n行,再去掉前m行
1、[SQL]SELECT * FROM t_record r where r.record_id >= 5000000 ORDER BY r.record_id LIMIT 50;
受影響的行: 0
時間: 0.639s
2、[SQL]
SELECT * FROM t_record r ORDER BY r.record_id LIMIT 5000000,50;
受影響的行: 0
時間: 8.322s
3、[SQL]
SELECT r.record_id FROM t_record r ORDER BY r.record_id LIMIT 5000000,1;
受影響的行: 0
時間: 2.805s
4、[SQL]
SELECT * FROM t_record r where r.record_id >= (SELECT r.record_id FROM t_record r ORDER BY r.record_id LIMIT 5000000,1) LIMIT 50;
受影響的行: 0
時間: 2.984s
1、使用情況:主鍵id是連續;
2、最原始的limit分頁方式,查詢速度最慢;
3、對比[查詢2]查詢結果數據量越大速度越慢;
4、非連續ID查詢方法
總結:分頁查詢時記錄前一頁的最後一條數據;