我們通常使用limit進行分頁查詢
select * from table_name where val=4 order by id limit 100,10;
當偏移量很大時,會遇到效能問題
select * from table_name where val=4 order by id limit 1000000,10
原因:上述語句查出了1000000條資料,然後丟棄掉999990條,做了很多無用功
解決辦法:使用子查詢
select * from table_name a inner join (select id from table_name where val=4 order by id limit 1000000,10) b on a.id=b.id
以上改寫能夠提高效率的原因是先查出滿足條件的10個id(主鍵),再回表去查這10個id對應的行記錄 MySQL limit 效能分析
limit用法 mysql的分頁查詢語句的效能分析 對於有大資料量的mysql表來說,使用limit分頁存在很嚴重的效能問題。有彩蛋哦 在我們使用查詢語句的時候,經常要返回前幾條或者中間某幾行資料,這個時候怎麼辦呢?不用擔心,mysql已經為我們提供了這樣乙個功能。select from table...
MYSQL LIMIT 效能測試
普通表 select from test page limit m,n 記憶體表 select from test page memory limit m,n查詢位置 offset,size 普通表 查詢時間 記憶體表 查詢時間 100,100 0.004s 0.001s 1000,100 0.00...
mysql limit 效能優化 有感
基礎用法 limit 的用法是limit offset rows 其中 offset 表示偏移值,rows 表示需要返回的資料行。mysql 的 limit 給分頁帶來了極大的方便,但資料偏移量一大,limit 的效能就急劇下降。以下是兩條查詢語句,都是取10條資料,但效能就相去甚遠。select ...