## 理論: ##
select * from user where xx=1 limit 10,10
需要有order by 字段。 然後需要 (xx, ordercol) 的復合索引,再使用
select * from user a inner join (select id from user where xx=1 order by id limit 10,10) b using(id)
## 測試 ##
大資料量分頁
表:product 約36w條資料
使用普通limit: 14.8276 s
select * from product order by id limit 300000, 5
優化後: 0.0748 s
select * from product a inner join (select id from product order by id limit 300000, 5) b using (id)
## 分析 ##
limit先掃瞄前n條資料,然後刪除不需要的資料,導致搜尋效率降低
mysql的分頁優化 mysql分頁優化
有個200多萬的使用者表,顯示列表時非常慢,查了一下原來使用了limit進行分頁。前幾頁用時很少 但是後面頁數就簡直不可忍了,實際的業務邏輯還有排序,就更慢了 試試用查詢時用帶索引的鍵來確定範圍。最大的id是103948598 時間和用limit比相差幾千倍啊!使用explain 檢視一下 mysq...
mysql 分頁優化 Mysql 查詢分頁優化
全表掃瞄,速度極慢 limit 語句的查詢時間與起始記錄的位置成正比 mysql 的 limit 語句是很方便,但是對記錄很多的表並不適合直接使用 建立測試表 drop table if exists t user create table test t user id int 10 unsigne...
mysql 分頁優化 MySQL分頁優化實驗與總結
前言 分頁的sql優化是日常開發中經常遇到的問題,筆者在此做乙個經驗總結,並附上相應的實驗過程。實驗準備 若不想親自實驗的,可以直接跳過這一節。但還是建議大家做一下實驗,眼見為實。1.安裝測試資料庫 本次實驗使用的資料是mysql官方提供的employee資料庫,mysql官方提供了一些測試資料庫,...