數據庫分頁適用於數據量大(這裏指流量)的查詢,這種查詢耗費的是IO(讀取和傳輸)時間。而自己管理的內存分頁適用於數據統計類的查詢,這種查詢耗費的是統計時間。
如何做數據庫分頁查詢
數據庫的基本查詢
- 直接查詢table所有數據
SELECT * FROM table;
- 做個計算
SELECT 1+1;
-
限制輸出數量爲10
SELECT * FROM table LIMIT 10
- 跳過10條輸出
SELECT * FROM table OFFSET 10
- 查詢table中數據總數
SELECT count(column)
-
查詢如果每頁10個需要多少頁
SELECT ceil(count(column)/10)
分頁查詢其實就是限制輸出和跳過輸出的結合 SELECT * FROM table LIMIT M OFFSET N
,其中LIMIT M OFFSET N
可以寫成LIMIT N, M
查詢中遇到的問題
- 查詢速度很慢
- 科學的對需要查詢的數據做索引
- 使用索引後依然很慢
- 優化查詢步驟
- 減少回表次數
- 分佈查詢。如:先查詢ID,後根據ID查數據