MySQL優化Limit分頁 很多時候、我們需要選擇出從指定位置開始的指定行數、此時、limit笑了 對於limit的定義是: limit x,y 表示從第x行開始選擇y條記錄 在業務需要分頁操作的時候、我們通常采用limit+order by這對洗剪吹組合、高端洋氣上檔次 然而、當翻到非常靠後的頁面時、MySQL需要花費大量的時間來掃描需要丟棄的數據 此時比較好的策略是使用延遲關聯: 通過使用覆蓋索引查詢返回需要的主鍵、再根據這些主鍵關聯原表獲得需要的行 具體請看下面的一個例子 假如有這樣一個查詢:
[plain] select film_id,actor,description from film where actor='WaterBin' order by title limit 100000,5
我們可以這樣改造:
[plain] select film.film_id,film.actor,film.description from film inner join ( select film_id from film where f.actor='WaterBin' order by title limit 100000,5 ) as f using(film_id);