MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana SLEEP() Bekerja di MariaDB

Di MariaDB, SLEEP() adalah fungsi bawaan yang tidur (jeda) selama jumlah detik yang ditentukan oleh argumennya.

Jika tidak terganggu, ia mengembalikan 0 , jika terputus, ia mengembalikan 1 .

Sintaks

Sintaksnya seperti ini:

SLEEP(duration)

Dimana duration adalah jumlah detik yang Anda inginkan untuk fungsi tidur. Ini dapat mencakup mikrodetik.

Contoh 1

Berikut ini contoh untuk didemonstrasikan:

SELECT SLEEP(3);

Hasil:

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

Dalam hal ini, operasi berhasil tanpa gangguan, dan dengan demikian 0 dikembalikan.

Kita dapat melihat bahwa operasi membutuhkan waktu 3,005 detik untuk diselesaikan (3 di antaranya mungkin disebabkan oleh SLEEP() fungsi).

Contoh 2

Berikut contoh lain yang menggunakan SLEEP() di antara dua panggilan fungsi lainnya:

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

Hasil:

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)

Mikrodetik

Seperti yang disebutkan, Anda dapat memasukkan mikrodetik:

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

Hasil:

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)

Argumen Null

Memanggil SLEEP() dengan null mengembalikan 0 tanpa jeda:

SELECT SLEEP(null);

Hasil:

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

Jumlah Argumen Tidak Valid

Memanggil SLEEP() tanpa argumen, atau dengan jumlah argumen yang salah, menghasilkan kesalahan:

SELECT SLEEP();

Hasil:

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

Dan:

SELECT SLEEP(1, 2);

Hasil:

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

Perhatikan bahwa pernyataan menggunakan SLEEP() fungsi tidak aman untuk direplikasi.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengatur MariaDB untuk menggunakan Output Vertikal

  2. Ubah Hasil Kueri menjadi Daftar Dipisahkan Koma di MariaDB

  3. Cara Melakukan Operasi Failback untuk Pengaturan Replikasi MySQL

  4. MariaDB JSON_CONTAINS_PATH() Dijelaskan

  5. Cara Menginstal MariaDB 10 di RHEL 8