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...