Maison >base de données >tutoriel mysql >Exemples d'utilisation avancée de limite mysql

Exemples d'utilisation avancée de limite mysql

黄舟
黄舟original
2017-02-06 15:39:111160parcourir

Efficacité de la limite MySQL :

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

la valeur de décalage limite est relativement petite :

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

la valeur de décalage limite est relativement grande :

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

/ /Exécutez plusieurs fois, le temps reste à environ 0,0061, seulement 1/3 de l'ancien. On peut s’attendre à ce que plus le décalage est important, meilleur est ce dernier.

Utilisation limite de MySQL :

La clause LIMIT peut être utilisée pour forcer l'instruction SELECT à renvoyer le nombre d'enregistrements spécifié

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。


Exemple d'utilisation de sous-requête de limite MySQL :

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)

Utilisation du décalage de limite MySQL :

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` WHEREadvertrid='59' ORDER BY password LIMIT 2,1 //Dans ce SQL, la limite est lue à partir de l'élément 2, Lire 1 message .


Utilisation de la variable limite dans la procédure stockée MySQL

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;


Remarque : elle doit être utilisée là où les paramètres sont nécessaires pour être transmis "?", l'instruction après le premier FROM doit être entourée de ''.

Ce qui précède est le contenu de MySQL, ses limites et son utilisation avancée. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn