Heim  >  Artikel  >  Datenbank  >  Erweiterte Anwendungsbeispiele für MySQL-Limit

Erweiterte Anwendungsbeispiele für MySQL-Limit

黄舟
黄舟Original
2017-02-06 15:39:111077Durchsuche

MySQL-Grenzeffizienz:

select `id`,`title`,`describle`,`created` from myvbga_table where click = xxx limit offset, limit; //总结:如果没有blob/text字段,单行记录比较小,可以把 limit 设大点,会加快速度。

Limit-Offset-Wert ist relativ klein:

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-Wert ist relativ groß:

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

/ /Mehrmals ausführen, die Zeit bleibt bei etwa 0,0061, nur 1/3 des vorherigen. Es ist zu erwarten, dass Letzteres umso besser ist, je größer der Offset ist.

Mysql-Limit-Nutzung:

LIMIT-Klausel kann verwendet werden, um die SELECT-Anweisung zu zwingen, die angegebene Anzahl von Datensätzen zurückzugeben

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 //为了检索从某一个偏移量到记录集的结束所有的记录行,
可以指定第二个参数为 -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。


Beispiel für die Verwendung einer MySQL-Limit-Unterabfrage:

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-Nutzung:

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 advertid='59' ORDER BY keyword LIMIT 2,1; //In dieser SQL wird das Limit ab Punkt 2 gelesen, 1 Nachricht lesen .


Verwendung der Grenzvariablen in der gespeicherten MySQL-Prozedur

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;


Hinweis: Sie muss dort verwendet werden, wo Parameter erforderlich sind übergeben werden. „?“, muss die Anweisung nach dem ersten FROM in „“ eingeschlossen werden.

Das Obige ist der Inhalt von MySQL, Limit und erweiterte Nutzung. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn