La bonne façon d'utiliser la commande MySQL SLEEP()
-
Utilisez la commande
SLEEP()
dans MySQL -
Utilisez la commande
DO SLEEP()
dans MySQL -
la différence entre MySQL
SLEEP
etDO SLEEP
-
le comportement de MySQL
SLEEP()
dans une instruction de requête
Cet article vous apprend deux manières de montrer comment utiliser la commande MySQL sleep
. Le premier consiste à utiliser sleep
, et le second est DO SLEEP()
.
Vous apprendrez également le comportement de SLEEP()
dans une instruction de requête.
Utilisez la commande SLEEP()
dans MySQL
Voici comment utiliser SLEEP()
dans MySQL.
SELECT SLEEP(10);
A partir du SQL ci-dessus, la fonction MySQL SLEEP()
prend le nombre 10
comme paramètre. Ce nombre détermine le nombre de secondes que SLEEP()
occupera dans le thread du serveur.
Avec SELECT SLEEP(10);
, MySQL ne peut pas faire d’autre travail pendant dix secondes. C’est parce qu’il utilisera la pile de threads.
Voici la sortie de la commande sleep
précédente.
+-----------+
| SLEEP(10) |
+-----------+
| 0 |
+-----------+
1 row in set (10.00 sec)
Utilisez la commande DO SLEEP()
dans MySQL
DO SLEEP()
fonctionne de la même manière que SLEEP()
, mais il ne renverra aucun résultat. Voici comment cela fonctionne.
DO SLEEP(10);
Comme SLEEP()
, lorsque vous exécutez le SQL précédent, il attendra 10
secondes avant de continuer. Cependant, il renvoie un résultat vide illustré ci-dessous.
Query OK, 0 rows affected (10.01 sec)
la différence entre MySQL SLEEP
et DO SLEEP
La différence entre SLEEP()
et DO SLEEP()
est que SLEEP()
renvoie un résultat alors que DO SLEEP()
ne le fait pas.
le comportement de MySQL SLEEP()
dans une instruction de requête
Lorsqu’il est utilisé dans une instruction de requête, la durée de SLEEP()
dépend des enregistrements renvoyés. Si la table ne contient aucun enregistrement, MySQL ne dormira pas.
Cependant, si la table contient des enregistrements, le temps de repos est n * enregistrements de table
où n
est le temps de repos.
Pour le prouver, procédez comme suit.
- Créez une base de données dans MySQL et créez une nouvelle table dans cette base de données.
- Insérez des enregistrements dans la table.
- Utilisez
SELECT *, SLEEP (n) à partir de <table_name>
. Oùn
est le temps de veille ettable_name
est le nom de votre table.
Par exemple, dans ce qui suit, la table users
comporte trois enregistrements. Lorsque nous exécutons le code SQL, MySQL attendra 30 secondes.
C’est nombre_d'enregistrements * temps_de_sommeil
qui est 3 * 10
.
SELECT *, SLEEP(10) FROM users;
Production:
+---------+----------+-----------+
| user_id | username | SLEEP(10) |
+---------+----------+-----------+
| 1 | Delft | 0 |
| 2 | Stack | 0 |
| 3 | Website | 0 |
+---------+----------+-----------+
3 rows in set (30.02 sec)
Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.
LinkedIn