較高LIMIT 偏移量對MySQL 查詢速度的影響
當結合ORDER BY 查詢LIMIT 偏移量不斷增加的大型MySQL表時,使用者可能會遇到查詢速度明顯下降的情況。當表超過 1600 萬筆記錄或大小約為 2GB 時,這一點尤其明顯。
例如,以下具有較小偏移量的查詢的執行速度明顯快於具有較大偏移量的查詢:
SELECT * FROM large ORDER BY `id` LIMIT 0, 30
SELECT * FROM large ORDER BY `id` LIMIT 10000, 30
雖然兩個查詢都只檢索30 行,但後者花費的時間要長得多,儘管ORDER的開銷可以忽略不計BY.
要最佳化此場景,請考慮使用替代方法:
SELECT * FROM large WHERE `id` > lastId LIMIT 0, 30
透過始終保持零偏移,即使在迭代中獲取大量數據,查詢也將始終以最佳速度執行。
以上是為什麼具有大 LIMIT 偏移量的 MySQL 查詢如此緩慢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!