limit語句的查詢耗時研究,sql效能問題

2021-08-26 23:24:36 字數 511 閱讀 7077

我的mysql中有乙個表(table),裡面有450000條資料。下面這條sql語句是將id排序後,查詢從第0位(偏移量)開始,往後的10條資料。

select * from table order by id desc limit 0, 10
注意這條語句是先執行order by,再按limit要求來查詢。

根據limit偏移量的不同,sql語句執行時間的統計資料如下:

sqltime cost

limit 0, 8000

0.73s

limit 1000, 8000

0.92s

limit 10000, 8000

2slimit 100000, 8000

3.3s

歸根結底,這個問題跟mysql的資料儲存結構有關。

order by是如何執行的,

mysql 索引的原理,

mysql儲存引擎myisam與innodb的優劣, 

儲存引擎,

mysql查詢語句之limit

我們在查詢資料時,經常要得到前幾條或者中間某幾條資料,mysql為我們提供了乙個很好的功能 limit select from table limit offset,rows limit 子句可以被用於強制 select 語句返回指定的記錄數。limit 接受乙個或兩個數字引數。引數必須是乙個整數常...

mysql優化limit查詢語句的5個方法

mysql的分頁比較簡單,只需要limit offset,length就可以獲取資料了,但是當offset和length比較大的時候,mysql明顯效能下降 1.子查詢優化法 先找出第一條資料,然後大於等於這條資料的id就是要獲取的資料 缺點 資料必須是連續的,可以說不能有where條件,where...

mysql優化limit查詢語句的5個方法

mysql的分頁比較簡單,只需要limit offset,length就可以獲取資料了,但是當offset和length比較大的時候,mysql明顯效能下降 1.子查詢優化法 先找出第一條資料,然後大於等於這條資料的id就是要獲取的資料 缺點 資料必須是連續的,可以說不能有where條件,where...