在 MySQL 中,分頁查詢主要通過LIMIT關鍵字實現,用于從查詢結果中截取部分數據,適用于大量數據的分批展示(如網頁分頁)。以下是詳細用法:
SELECT 列名 FROM 表名
[WHERE 條件]
[ORDER BY 排序字段 [ASC|DESC]]
LIMIT 起始位置, 每頁條數;
-
起始位置:從第幾條記錄開始查詢(索引從 0 開始)
-
每頁條數:需要返回的記錄數量
SELECT * FROM products LIMIT 0, 10;
SELECT * FROM products LIMIT 10, 10;
SELECT * FROM products LIMIT 20, 10;
SELECT * FROM products
WHERE price > 100
ORDER BY price DESC
LIMIT 10, 10;
SELECT * FROM users LIMIT 10;
對于第 N 頁(每頁顯示 M 條),查詢語句為:
示例:第 5 頁,每頁 20 條
-
排序的重要性:分頁查詢通常需要配合ORDER BY使用,否則分頁結果可能不穩定(數據順序可能變化)
-
性能優化:
-
當頁數很大時(如
LIMIT 100000, 10),查詢效率會下降
-
優化方案:使用主鍵索引定位起始位置
SELECT * FROM products
WHERE id > (1000 * 10)
ORDER BY id
LIMIT 10;
-
總頁數計算:
通常需要先查詢總記錄數,再計算總頁數
SELECT COUNT(*) FROM products WHERE category = 'books';
分頁查詢是 Web 開發中處理大量數據的必備技巧,合理使用可以有效提升數據加載速度和用戶體驗。