以下分享一點我的經驗
一般剛開始學sql語句的時候,會這樣寫
**如下:
select * from table order by id limit 1000, 10;
但在資料達到百萬級的時候,這樣寫會慢死
**如下:
select * from table order by id limit 1000000, 10;
也許耗費幾十秒
網上很多優化的方法是這樣的
**如下:
select * from table where id >= (select id from table limit 1000000, 1) limit 10;
是的,速度提公升到0.x秒了,看樣子還行了
可是,還不是完美的!
以下這句才是完美的!
**如下:
select * from table where id between 1000000 and 1000010;
比上面那句,還要再快5至10倍
另外,如果需要查詢 id 不是連續的一段,最佳的方法就是先找出 id ,然後用 in 查詢
**如下:
select * from table where id in(10000, 100000, 1000000...);
再分享一點
查詢欄位一較長字串的時候,表設計時要為該字段多加乙個字段,如,儲存**的字段
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...