首頁  >  文章  >  資料庫  >  mysql中limit的一些進階用法

mysql中limit的一些進階用法

亚连
亚连原創
2018-05-10 10:07:572331瀏覽

通常我們在使用sql語句中,都是一些比較簡單的用法,下面我透過一些範例來說一下,在Mysql中limit的一些進階使用方法。


mysql limit效率:

select `id`,`title`,`describle`,`created` from myvbga_table where click = xxx limit offset, limit; //總結:如果沒有blob/text字段,單行記錄比較小,可以把limit 設大點,會加快速度。

limit offset值比較小:

select `id`,`title`,`describle`,`created` from vbga_table limit 10,10 //多次運行,時間保持在0.0004-0.0005之間

Select `id`,`title`,`describle`,`created` From vbga_table Where click >=(Select click From vbga_table Order By click limit 10,1 ) limit 10 //多次運行,時間維持在0.0005-0.0006之間,主要是0.0006

limit offset值比較大:

select `id`, `title`,`describle`,`created` from vbga_table limit 10000,10 //多次運行,時間保持在0.0187左右

Select `id`,`title`,`describle`,`created` From vbga_table Where click >=(Select click From vbga_table Order By click limit 10000,1) limit 10 //多次運行,時間保持在0.0061左右,只有前者的1/3。可以預期offset越大,後者越優。

Mysql的limit用法:

LIMIT 子句可以用來強制SELECT 語句傳回指定的記錄數

SELECT `id`,` title`,`describle`,`created` FROM vbga_table LIMIT [offset,] rows | rows OFFSET offset

mysql> SELECT `id`,`title`,`describle`,`created` FROM vb_table LIMIT 51_table LIMIT 5 ,10; // 擷取記錄行6-15 //為了擷取從某一個偏移量到記錄集的結束所有的記錄行,可以指定第二個參數為-1:

mysql> SELECT `id`,`title`,`describle`,`created` FROM vbga_table LIMIT 95,-1; // 檢索記錄行96-last. //如果只給定一個參數,它表示傳回最大的記錄行數目:

mysql> SELECT `id`,`title`,`describle`,`created` FROM vbga_table LIMIT 5; //檢索前5 個記錄行//換句話說,LIMIT n 等價於LIMIT 0 ,n。

mysql limit 子查詢用法範例:

select `id`,`title`,`describle`,`created` from vbga_table where id in (select t. id from (select `id`,`title`,`describle`,`created` from vbga_table limit 10)as t)

mysql limit offset用法:

#mysql limit offset用法:

# SELECT keyword FROM `zjoe_table` WHERE advertiserid='59' order by keyword LIMIT 2 OFFSET 1; //例如這個SQL ,limit後面跟的是2個數據,offset後面是從第1條開始讀取

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~

SELECT `keyword` FROM `zjoe_table` WHERE advertiserid='59' ORDER BY keyword LIMIT 2 ,1; //而這個SQL,limit後面是從第2條開始讀,讀取1條訊息。

mysql預存程序中limit變數用法

CREATE PROCEDURE Getble_table(_id int,_limit int)

BEGIN

PREPARE s1 FROM 'SELECT `id`,`title`,`describle`,`created` FROM ble_table WHERE Cityid=? ORDER BY sendtime DESC LIMIT ?';

set @a=_id;


####################################################################################################################################################################### # set @b=_limit;######EXECUTE s1 USING @a,@b;######DEALLOCATE PREPARE s1;######END;######以上就是我總結的Mysql中limit的一些進階用法,希望在未來對大家有所幫助。 ############相關文章:############怎麼透過PHP MySQL 讀取資料############PHP 連接MySQL相關知識及其操作######

以上是mysql中limit的一些進階用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn