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

Jak UUID_SHORT() działa w MariaDB

W MariaDB UUID_SHORT() to wbudowana funkcja, która zwraca krótki uniwersalny unikalny identyfikator (UUID).

Zwraca 64-bitową liczbę całkowitą bez znaku (w przeciwieństwie do 128-bitowego identyfikatora w postaci ciągu zwracanego przez UUID() funkcja).

Składnia

Składnia wygląda tak:

UUID_SHORT()

Tak więc żadne argumenty nie są wymagane (ani akceptowane).

Przykład

Oto przykład do zademonstrowania:

SELECT UUID_SHORT();

Wynik:

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

Jeśli wywołam to innym razem, otrzymam inną wartość:

SELECT UUID_SHORT();

Wynik:

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

O wyniku

Wartość zwracana przez UUID_SHORT() gwarantuje unikalność, jeśli spełnione są następujące warunki:

  • server_id bieżącego hosta jest unikalny wśród twojego zestawu serwerów głównych i podrzędnych
  • server_id jest między 0 i 255
  • Nie cofasz czasu systemowego dla serwera między mysqld uruchamia się ponownie
  • Nie wywołujesz UUID_SHORT() średnio ponad 16 milionów razy na sekundę między mysqld uruchamia się ponownie

Zauważ, że instrukcje używające UUID_SHORT() funkcje nie są bezpieczne dla replikacji opartej na instrukcjach.

W porównaniu z UUID() Funkcja

Wynik zwrócony przez UUID_SHORT() jest podobny do zwracanego przez UUID() funkcja, z wyjątkiem tego, że wynik zwracany przez UUID() to 128-bitowa liczba reprezentowana przez ciąg utf8 złożony z pięciu liczb szesnastkowych w aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee format.

Oto porównanie tych dwóch:

SELECT 
    UUID(),
    UUID_SHORT();

Wynik:

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

Oprócz tego, z MariaDB 10.6.1, SYS_GUID() dodano funkcję w celu zwiększenia kompatybilności z Oracle.

Brak argumentów

Jak wspomniano, UUID_SHORT() nie przyjmuje żadnych argumentów. Oto, co się dzieje, gdy przekazuję argument:

SELECT UUID_SHORT(3);

Wynik:

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. Zasoby kopii zapasowych baz danych MySQL i MariaDB

  2. Jak NOW() działa w MariaDB

  3. Popularne obrazy Docker dla serwerów MySQL i MariaDB

  4. Jak działa PRAWO() w MariaDB

  5. Jak TIMESTAMP() działa w MariaDB