Mysql中limit的用法

2021-08-30 13:09:34 字數 1393 閱讀 5871

*from

table

limit 

[offset,

]rows 

|rows offset offset

limit 子句可以被用於強制 select 語句返回指定的記錄數。limit 接受乙個或兩個數字引數。引數必須是乙個整數常量。如果給定兩個引數,第乙個引數指定第乙個返回記錄行的偏移量,第二個引數指定返回記錄行的最大數目。初始記錄行的偏移量是 0(而不是 1): 為了與 postgresql 相容,mysql 也支援句法: limit # offset #。

>

select

*from

table

limit 5,

10;  

//檢索記錄行 6-

15//為了檢索從某乙個偏移量到記錄集的結束所有的記錄行,可以指定第二個引數為 -1

: >

select

*from

table

limit 95,

-1; //

檢索記錄行 96-

last.

//如果只給定乙個引數,它表示返回最大的記錄行數目: 

>

select

*from

table

limit 

5;     

//檢索前 

5個記錄行

//換句話說,limit n 等價於 limit 

0,n。

limit優化

1、offset比較小的時候。

select * from yanxue8_visit limit 10,10

多次執行,時間保持在0.0004-0.0005之間

select * from yanxue8_visit where vid >=(

select vid from yanxue8_visit order by vid limit 10,1

) limit 10

多次執行,時間保持在0.0005-0.0006之間,主要是0.0006

結論:偏移offset較小的時候,直接使用limit較優。這個顯然是子查詢的原因。

2、offset大的時候。

select * from yanxue8_visit limit 10000,10

多次執行,時間保持在0.0187左右

select * from yanxue8_visit where vid >=(

select vid from yanxue8_visit order by vid limit 10000,1

) limit 10

多次執行,時間保持在0.0061左右,只有前者的1/3。可以預計offset越大,後者越優。

mysql 中limit的用法

select from table limit offset,rows rows offset offset 在我們使用查詢語句的時候,經常要返回前幾條或者中間某幾行資料,這個時候怎麼辦呢?不用擔心,mysql已經為我們提供了上面這樣乙個功能。limit 子句可以被用於強制 select 語句返回指...

mysql中的limit用法

在實際專案開發中,查詢的時候需要返回前幾條資料或者中間幾行的資料,mysql提供了limit來解決這一問題,實際專案 一般用來分頁。1 select from table limit 5,10 檢索資料庫記錄行 6 152 select from table limit 5 檢索資料庫前5條資料記錄...

MySQL中limit的用法

select from table limit offset,rows rows offset offset limit 子句可以被用於強制 select 語句返回指定的記錄數。limit 接受乙個或兩個數字引數。引數必須是乙個整數常量。如果給定兩個引數,第乙個引數指定第乙個返回記錄行的偏移量,第二...