sql >> Database >  >> RDS >> MariaDB

Hoe UUID_SHORT() werkt in MariaDB

In MariaDB, UUID_SHORT() is een ingebouwde functie die een korte Universal Unique Identifier (UUID) retourneert.

Het retourneert een 64-bits geheel getal zonder teken (in tegenstelling tot de tekenreeks-vorm 128-bits identifier zoals geretourneerd door de UUID() functie).

Syntaxis

De syntaxis gaat als volgt:

UUID_SHORT()

Er zijn dus geen argumenten vereist (of geaccepteerd).

Voorbeeld

Hier is een voorbeeld om te demonstreren:

SELECT UUID_SHORT();

Resultaat:

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

Als ik het een andere keer roep, krijg ik een andere waarde:

SELECT UUID_SHORT();

Resultaat:

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

Over het resultaat

De waarde die wordt geretourneerd door UUID_SHORT() is gegarandeerd uniek als aan de volgende voorwaarden wordt voldaan:

  • De server_id van de huidige host is uniek onder uw set master- en slave-servers
  • server_id ligt tussen 0 en 255
  • U stelt uw systeemtijd voor uw server niet terug tussen mysqld herstart
  • Je roept UUID_SHORT() niet aan gemiddeld meer dan 16 miljoen keer per seconde tussen mysqld herstart

Merk op dat instructies met de UUID_SHORT() functie zijn niet veilig voor replicatie op basis van instructies.

Vergeleken met de UUID() Functie

Het resultaat geretourneerd door UUID_SHORT() is vergelijkbaar met degene die wordt geretourneerd door de UUID() functie, behalve dat het resultaat geretourneerd door UUID() is een 128-bits getal dat wordt weergegeven door een utf8-reeks van vijf hexadecimale getallen in aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee formaat.

Hier is een vergelijking van de twee:

SELECT 
    UUID(),
    UUID_SHORT();

Resultaat:

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

Daarnaast, van MariaDB 10.6.1, een SYS_GUID() functie is toegevoegd om de compatibiliteit met Oracle te verbeteren.

Geen argumenten

Zoals vermeld, UUID_SHORT() accepteert geen argumenten. Dit is wat er gebeurt als ik een argument doorgeef:

SELECT UUID_SHORT(3);

Resultaat:

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

  1. MariaDB introduceert TO_CHAR()

  2. Query verwijderen en vernieuwen in ListView in Android (sqlite)

  3. Hoe MySQL-database te herstellen van .myd-, .myi-, .frm-bestanden

  4. Wat is LENGTH() in MySQL?