mysql大資料量分頁慢問題解決方案

2021-06-03 20:49:19 字數 1159 閱讀 9102

1,要盡量少關聯表

2,orderby 後面的字段要建索引,或者最好orderby後面跟id,這樣會很快的。

3,對where 後面的條件中的關鍵字段 建索引,分頁會快很多的。

下面中

agriculturalconditionreport_type有索引, 上面的根據time排序,下面的根據id排序。
執行結果:

-- 測試資料條數300067

select 字段

from agritechnique.tab_agriculturalconditionreport agricultur0_

inner join tab_user_info userinfo1_ on agricultur0_.agriculturalconditionreport_userid=userinfo1_.user_id

inner join sys_user_login_info userinfo1_1_ on userinfo1_.user_id=userinfo1_1_.user_id

where agricultur0_.agriculturalconditionreport_type=1 order by agricultur0_.agriculturalconditionreport_time desc limit 3333, 25

-- (25 row(s)returned)

-- (2839 ms taken)

select 字段

inner join tab_user_info userinfo1_ on agricultur0_.agriculturalconditionreport_userid=userinfo1_.user_id

inner join sys_user_login_info userinfo1_1_ on userinfo1_.user_id=userinfo1_1_.user_id

where agricultur0_.agriculturalconditionreport_type=1 order by agricultur0_.agriculturalconditionreport_id desc limit 3333, 25

-- (25 row(s)returned)

-- (16 ms taken)

Mysql大資料量分頁優化

假設有乙個千萬量級的表,取1到10條資料 select from table limit 0,10 select from table limit 1000,10 這兩條語句查詢時間應該在毫秒級完成 select from table limit 3000000,10 你可能沒想到,這條語句執行之間...

mysql大資料量分頁查詢優化

參考文章 mysql的分頁查詢十分簡單,但是當資料量大的時候一般的分頁就吃不消了。傳統分頁查詢 select c1,c2,cn from table limit n,m mysql的limit工作原理就是先讀取前面n條記錄,然後拋棄前n條,讀後面m條想要的,所以n越大,偏移量越大,效能就越差。1 盡...

MySQL大資料量分頁效能優化

mysql大資料量使用limit分頁,隨著頁碼的增大,查詢效率越低下。1.直接用limit start,count分頁語句,也是我程式中用的方法 select from product limit start,count 當起始頁較小時,查詢沒有效能問題,我們分別看下從10,100,1000,100...