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

Bagaimana UUID_SHORT() Bekerja di MariaDB

Di MariaDB, UUID_SHORT() adalah fungsi bawaan yang mengembalikan Pengenal Unik Universal (UUID) singkat.

Ini mengembalikan integer 64-bit yang tidak ditandatangani (sebagai lawan dari pengidentifikasi 128-bit bentuk string seperti yang dikembalikan oleh UUID() fungsi).

Sintaks

Sintaksnya seperti ini:

UUID_SHORT()

Jadi, tidak ada argumen yang diperlukan (atau diterima).

Contoh

Berikut ini contoh untuk didemonstrasikan:

SELECT UUID_SHORT();

Hasil:

+-------------------+
| UUID_SHORT()      |
+-------------------+
| 99291717236162560 |
+-------------------+

Jika saya menyebutnya lain kali, saya mendapatkan nilai yang berbeda:

SELECT UUID_SHORT();

Hasil:

+-------------------+
| UUID_SHORT()      |
+-------------------+
| 99291717236162561 |
+-------------------+

Tentang Hasil

Nilai yang dikembalikan oleh UUID_SHORT() dijamin unik jika kondisi berikut ini benar:

  • server_id host saat ini unik di antara kumpulan server master dan slave Anda
  • server_id berada di antara 0 dan 255
  • Anda tidak mengatur kembali waktu sistem untuk server Anda antara mysqld mulai ulang
  • Anda tidak memanggil UUID_SHORT() rata-rata lebih dari 16 juta kali per detik antara mysqld mulai ulang

Perhatikan bahwa pernyataan menggunakan UUID_SHORT() fungsi tidak aman untuk replikasi berbasis pernyataan.

Dibandingkan dengan UUID() Fungsi

Hasil dikembalikan oleh UUID_SHORT() mirip dengan yang dikembalikan oleh UUID() fungsi, kecuali bahwa hasilnya dikembalikan oleh UUID() adalah angka 128-bit yang diwakili oleh string utf8 dari lima angka heksadesimal dalam aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee format.

Berikut perbandingan keduanya:

SELECT 
    UUID(),
    UUID_SHORT();

Hasil:

+--------------------------------------+-------------------+
| UUID()                               | UUID_SHORT()      |
+--------------------------------------+-------------------+
| e67d0fc6-cd8d-11eb-be04-88e9fe739f3d | 99291717236162562 |
+--------------------------------------+-------------------+

Selain itu, dari MariaDB 10.6.1, sebuah SYS_GUID() fungsi telah ditambahkan untuk meningkatkan kompatibilitas Oracle.

Tidak Ada Argumen

Seperti yang disebutkan, UUID_SHORT() tidak menerima argumen apa pun. Inilah yang terjadi ketika saya menyampaikan argumen:

SELECT UUID_SHORT(3);

Hasil:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bermigrasi dari Maxscale ke ProxySQL Load Balancer

  2. Sumber Daya Cadangan Database MySQL &MariaDB

  3. Cara Menyebarkan Server MariaDB ke Wadah Docker

  4. 2018 Dalam Ulasan:7 Tonggak MariaDB yang Mungkin Anda Lewatkan

  5. Bagaimana MINUTE() Bekerja di MariaDB