mysql limit高級(jí)用法示例

mysql limit效率:

select?`id`,`title`,`describle`,`created`?from?myvbga_table?where?click?=?xxx?limit?offset,?limit;?//總結(jié):如果沒有blob/text字段,單行記錄比較小,可以把?limit?設(shè)大點(diǎn),會(huì)加快速度。

limit offset值比較小:

select?`id`,`title`,`describle`,`created`?from?vbga_table?limit?10,10?//多次運(yùn)行,時(shí)間保持在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?  //多次運(yùn)行,時(shí)間保持在0.0005-0.0006之間,主要是0.0006

limit offset值比較大:

select?`id`,`title`,`describle`,`created`?from?vbga_table?limit?10000,10?//多次運(yùn)行,時(shí)間保持在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

//多次運(yùn)行,時(shí)間保持在0.0061左右,只有前者的1/3。可以預(yù)計(jì)offset越大,后者越優(yōu)。

Mysql的limit用法:

LIMIT 子句可以被用于強(qiáng)制 SELECT 語句返回指定的記錄數(shù)

SELECT?`id`,`title`,`describle`,`created`?FROM?vbga_table?LIMIT?[offset,]?rows?|?rows?OFFSET?offset  mysql>?SELECT?`id`,`title`,`describle`,`created`?FROM?vbga_table?LIMIT?5,10;?//?檢索記錄行?6-15?//為了檢索從某一個(gè)偏移量到記錄集的結(jié)束所有的記錄行,  可以指定第二個(gè)參數(shù)為?-1:  mysql>?SELECT?`id`,`title`,`describle`,`created`?FROM?vbga_table?LIMIT?95,-1;?//?檢索記錄行?96-last.?//如果只給定一個(gè)參數(shù),它表示返回最大的記錄行數(shù)目:  mysql>?SELECT?`id`,`title`,`describle`,`created`?FROM?vbga_table?LIMIT?5;?//檢索前?5?個(gè)記錄行?//換句話說,LIMIT?n?等價(jià)于?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用法:

SELECT?keyword?FROM?`zjoe_table`?WHERE?advertiserid='59'?order?by?keyword?LIMIT?2?OFFSET?1;?//比如這個(gè)SQL?,limit后面跟的是2條數(shù)據(jù),offset后面是從第1條開始讀取

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

SELECT `keyword` FROM `zjoe_table` WHERE advertiserid=’59’ ORDER BY keyword LIMIT 2 ,1; //而這個(gè)SQL,limit后面是從第2條開始讀,讀取1條信息。

mysql存儲(chǔ)過程中l(wèi)imit變量用法

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;

注意:需要傳參數(shù)的地方一定要用”?”號(hào),第一個(gè)FRom后面的語句要用”括起。

以上就是mysql,limit,高級(jí)用法的內(nèi)容,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP中文網(wǎng)(www.php.cn)!

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊11 分享