MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak działa SLEEP() w MariaDB

W MariaDB, SLEEP() jest wbudowaną funkcją, która usypia (wstrzymuje) przez liczbę sekund określoną przez jej argument.

Jeśli nie zostanie przerwany, zwraca 0 , jeśli zostanie przerwane, zwraca 1 .

Składnia

Składnia wygląda tak:

SLEEP(duration)

Gdzie duration to liczba sekund, przez którą funkcja ma być uśpiona. Może to obejmować mikrosekundy.

Przykład 1

Oto przykład do zademonstrowania:

SELECT SLEEP(3);

Wynik:

+----------+
| SLEEP(3) |
+----------+
|        0 |
+----------+
1 row in set (3.005 sec)

W tym przypadku operacja powiodła się bez przerwy, więc 0 został zwrócony.

Widzimy, że operacja zajęła 3,005 sekundy (z czego 3 były prawdopodobnie spowodowane przez SLEEP() funkcja).

Przykład 2

Oto kolejny przykład, który używa SLEEP() pomiędzy dwoma innymi wywołaniami funkcji:

SELECT CURTIME();
SELECT SLEEP(3);
SELECT CURTIME();

Wynik:

MariaDB [PetHouse]> SELECT CURTIME();
+-----------+
| CURTIME() |
+-----------+
| 06:22:38  |
+-----------+
1 row in set (0.000 sec)

MariaDB [PetHouse]> SELECT SLEEP(3);
SELECT CURTIME();
+----------+
| SLEEP(3) |
+----------+
|        0 |
+----------+
1 row in set (3.006 sec)

MariaDB [PetHouse]> SELECT CURTIME();
+-----------+
| CURTIME() |
+-----------+
| 06:22:41  |
+-----------+
1 row in set (0.000 sec)

Mikrosekundy

Jak wspomniano, możesz uwzględnić mikrosekundy:

SELECT CURTIME(6);
SELECT SLEEP(3.555555);
SELECT CURTIME(6);

Wynik:

MariaDB [PetHouse]> SELECT CURTIME(6);
+-----------------+
| CURTIME(6)      |
+-----------------+
| 06:25:41.010538 |
+-----------------+
1 row in set (0.000 sec)

MariaDB [PetHouse]> SELECT SLEEP(3.555555);
SELECT CURTIME(6);
+-----------------+
| SLEEP(3.555555) |
+-----------------+
|               0 |
+-----------------+
1 row in set (3.561 sec)

MariaDB [PetHouse]> SELECT CURTIME(6);
+-----------------+
| CURTIME(6)      |
+-----------------+
| 06:25:44.573544 |
+-----------------+
1 row in set (0.000 sec)

Argument zerowy

Wywołanie SLEEP() z null zwraca 0 bez przerwy:

SELECT SLEEP(null);

Wynik:

+-------------+
| SLEEP(null) |
+-------------+
|           0 |
+-------------+
1 row in set (0.000 sec)

Nieprawidłowa liczba argumentów

Wywołanie SLEEP() bez argumentów lub z niewłaściwą liczbą argumentów powoduje błąd:

SELECT SLEEP();

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SLEEP'

Oraz:

SELECT SLEEP(1, 2);

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SLEEP'

Zauważ, że instrukcje używające SLEEP() funkcja nie jest bezpieczna dla replikacji.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak SYSDATE() działa w MariaDB

  2. MariaDB JSON_KEYS() Objaśnienie

  3. 6 sposobów na dodanie roku do randki w MariaDB

  4. Objaśnienie operatora MariaDB UNION

  5. Na co zasługują nasi klienci:Przedstawiamy dokumentację korporacyjną MariaDB