La forma correcta de utilizar el comando SLEEP() de MySQL

Habdul Hazeez 30 enero 2023
  1. Usa el comando SLEEP() en MySQL
  2. Use el comando DO SLEEP() en MySQL
  3. La diferencia entre SLEEP y DO SLEEP de MySQL
  4. el Comportamiento de MySQL SLEEP() en una Declaración de Consulta
La forma correcta de utilizar el comando SLEEP() de MySQL

Este artículo le enseña dos formas de mostrar cómo usar el comando SlEEP de MySQL. El primero implica el uso de SLEEP(), y el segundo es DO SLEEP().

También aprenderá el comportamiento de SLEEP() en una declaración de consulta.

Usa el comando SLEEP() en MySQL

Lo siguiente es cómo usar SLEEP() en MySQL.

SELECT SLEEP(10);

Del SQL anterior, la función SLEEP() de MySQL toma el número 10 como parámetro. Este número determina el número de segundos que ocupará SLEEP() en el hilo del servidor.

Con SELECT SLEEP(10);, MySQL no puede hacer otro trabajo durante diez segundos. Eso es porque usará la pila de subprocesos.

La siguiente es la salida del comando sleep anterior.

+-----------+
| SLEEP(10) |
+-----------+
|         0 |
+-----------+
1 row in set (10.00 sec)

Use el comando DO SLEEP() en MySQL

DO SLEEP() funciona igual que SLEEP(), pero no devolverá ningún resultado. Lo siguiente es cómo funciona.

DO SLEEP(10);

Al igual que SLEEP(), cuando ejecuta el SQL anterior, esperará 10 segundos antes de continuar. Sin embargo, devuelve un resultado vacío que se muestra a continuación.

Query OK, 0 rows affected (10.01 sec)

La diferencia entre SLEEP y DO SLEEP de MySQL

La diferencia entre SLEEP() y DO SLEEP() es que SLEEP() devuelve un resultado mientras que DO SLEEP() no.

el Comportamiento de MySQL SLEEP() en una Declaración de Consulta

Cuando se usa en una instrucción de consulta, la duración de SLEEP() depende de los registros devueltos. Si la tabla no contiene registros, MySQL no dormirá.

Sin embargo, si la tabla tiene registros, el tiempo de suspensión es n * registros de tabla, donde n es el tiempo de suspensión.

Para probar esto, haga lo siguiente.

  1. Cree una base de datos en MySQL y cree una nueva tabla en esta base de datos.
  2. Inserte algunos registros en la tabla.
  3. Utilice SELECT *, SLEEP (n) from <table_name>. Donde n es el tiempo de suspensión y table_name es el nombre de su tabla.

Por ejemplo, a continuación, la tabla users tiene tres registros. Cuando ejecutamos el código SQL, MySQL esperará 30 segundos.

Eso es number_of_records * sleep_time que es 3 * 10.

SELECT *, SLEEP(10) FROM users;

Producción :

+---------+----------+-----------+
| user_id | username | SLEEP(10) |
+---------+----------+-----------+
|       1 | Delft    |         0 |
|       2 | Stack    |         0 |
|       3 | Website  |         0 |
+---------+----------+-----------+
3 rows in set (30.02 sec)
Habdul Hazeez avatar Habdul Hazeez avatar

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