mysql 分頁效能優化

2022-01-30 00:07:32 字數 936 閱讀 5899

最簡單的分頁方法是這樣的

select

*from exarticletemp order

by createdate desc limit 10000,10

該表中存在5w左右資料

執行時間平均在10s左右,因此該種方式在資料量大的情況下查詢效率極低。

優化方式有以下幾種

1.此種方式平均在7-8s之間(createdate 需建立索引)

select

*from exarticletemp where id> (select id from exarticletemp order

by createdate desc limit 10000,1) order

by createdate desc limit 20

2.此種方式大概平均在0.01s

select

*from exarticletemp where id between

10000

and10020;

3.低於0.01s

select

*from exarticletemp where id in(10109,10110,10111,10112,10113,10114,10115,10116,10117,10118,10119,10120,10121,10122,10123,10124,10125,10126,10127,10128,10129,10130)

4.低於1s

select b.*

from (select id from exarticletemp order

by createdate limit 20000,20) as a left

join exarticletemp b on a.id =b.id

MySQL分頁效能優化

在對大表進行分頁時,如果在服務端實現分頁,大多數情況採用sql的limit語法來實現。但是當頁數越來越大時,效能很可能成為問題,尤其是需要查詢表的所有字段。1.索引與非索引字段 在查詢的結果集中,如果只包含索引字段,效能相比於包含非索引字段,差別很大。下面是乙個簡單的例子,在大約50w行的表上操作 ...

MySQL分頁效能優化指南

一道面試的問題,當mysql表中有資料量很大的時候如何做分頁。當時只知道在資料量很大的時候可以分表,但不知道不分表時可以怎麼做。唉,誰讓 商就那麼幾條資料,乙個簡單的limit,offset就完全hold住了 捂臉 很多應用往往只展示最新或最熱門的幾條記錄,但為了舊記錄仍然可訪問,所以就需要個分頁的...

MySQL效能優化 利用limit分頁

部落格已轉至 url mysql 資料庫的limit支援如下形式的選擇 limit n,m 表示從第n條記錄開始選擇m條記錄。而大多數開發人員喜歡使用這類語句來解決web中經典的分頁問題。對於小規模的資料,這並不會有太大的問題。對於論壇這類可能具有非常大規模資料的應用來說,limit n,m 的效率...