首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 分頁利器 LIMIT 子句用法詳解:替代 TOP 的標準寫法

     編輯:MySQL 資料庫相關知識

MySQL 無 TOP,有 LIMIT

SQL Server 使用 TOP n,MySQL 採用 ANSI SQL 標準的 LIMIT 子句,功能更強大。

語法形式

SELECT ... LIMIT [offset,] row_count
  • offset:跳過的行數(從 0 開始),可省略,默認 0。
  • row_count:返回的最大行數。

經典示例

需求SQL說明
前 10 條SELECT * FROM tfidf ORDER BY weight DESC LIMIT 10;offset=0 省略
第 2 頁(每頁 10 條)SELECT * FROM tfidf ORDER BY weight DESC LIMIT 10, 10;跳過前 10,取 10
第 N 頁(每頁 size)LIMIT (N-1)*size, size;通用分頁公式
從第 2 條開始到末尾SELECT * FROM tfidf ORDER BY weight DESC LIMIT 1, 18446744073709551615;配合巨大數值實現「跳過前 N」

性能提示

  • LIMIT 配合 ORDER BY 時,若無合適索引會觸發 filesort,大偏移量(如 LIMIT 1000000, 10)極慢。
  • 深分頁優化:延遲關聯(先 SELECT id ... LIMIT ... 再 JOIN 回表)或游標分頁(記錄上一頁最大 ID,WHERE id > last_id LIMIT size)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved