mysql 數據查詢優化

一、分頁查詢優化 (測試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查詢方法

總結:分頁查詢時記錄前一頁的最後一條數據;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章