程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL大數據量快速分頁實現

MySQL大數據量快速分頁實現

編輯:MySQL綜合教程

一般剛開始學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...);

 

來源:http://www.aichengxu.com/article/MySQL/1093_10.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved