MariaDB
 sql >> डेटाबेस >  >> RDS >> MariaDB

कैसे UUID_SHORT () मारियाडीबी में काम करता है

मारियाडीबी में, UUID_SHORT() एक अंतर्निहित फ़ंक्शन है जो एक छोटा यूनिवर्सल यूनिक आइडेंटिफ़ायर (UUID) देता है।

यह एक 64-बिट अहस्ताक्षरित पूर्णांक देता है (जैसा कि UUID() द्वारा लौटाए गए स्ट्रिंग-फॉर्म 128-बिट पहचानकर्ता के विपरीत है समारोह)।

सिंटैक्स

वाक्य रचना इस प्रकार है:

UUID_SHORT()

इसलिए, किसी तर्क की आवश्यकता नहीं है (या स्वीकृत)।

उदाहरण

प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:

SELECT UUID_SHORT();

परिणाम:

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

अगर मैं इसे दूसरी बार कॉल करता हूं, तो मुझे एक अलग मान मिलता है:

SELECT UUID_SHORT();

परिणाम:

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

परिणाम के बारे में

UUID_SHORT() द्वारा लौटाया गया मान यदि निम्न शर्तें सत्य हैं, तो अद्वितीय होने की गारंटी है:

  • server_id वर्तमान होस्ट का आपके मास्टर और स्लेव सर्वरों के सेट के बीच अद्वितीय है
  • server_id 0 . के बीच है और 255
  • आप अपने सर्वर के लिए अपना सिस्टम समय mysqld . के बीच सेट नहीं करते हैं पुनरारंभ होता है
  • आप UUID_SHORT() का आह्वान नहीं करते हैं mysqld . के बीच औसतन प्रति सेकंड 16 मिलियन से अधिक बार पुनरारंभ होता है

ध्यान दें कि UUID_SHORT() . का उपयोग करने वाले कथन कथन-आधारित प्रतिकृति के लिए फ़ंक्शन सुरक्षित नहीं हैं।

की तुलना में UUID() समारोह

UUID_SHORT() by द्वारा लौटाया गया परिणाम UUID() द्वारा लौटाए गए के समान है फ़ंक्शन, सिवाय इसके कि परिणाम UUID() . द्वारा लौटाया गया है aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee में पांच हेक्साडेसिमल संख्याओं की utf8 स्ट्रिंग द्वारा दर्शाई गई 128-बिट संख्या है प्रारूप।

यहां दोनों की तुलना की गई है:

SELECT 
    UUID(),
    UUID_SHORT();

परिणाम:

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

इसके अलावा, मारियाडीबी 10.6.1 से, एक SYS_GUID() Oracle संगतता बढ़ाने के लिए फ़ंक्शन जोड़ा गया है।

कोई तर्क नहीं

जैसा कि बताया गया है, UUID_SHORT() किसी तर्क को स्वीकार नहीं करता। जब मैं तर्क पास करता हूँ तो क्या होता है:

SELECT UUID_SHORT(3);

परिणाम:

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. मारियाडीबी में कास्ट () कैसे काम करता है

  2. कैसे TO_CHAR () मारियाडीबी में काम करता है

  3. मारियाडीबी लंबाई () समझाया गया

  4. मारियाडीबी में PERIOD_ADD () कैसे काम करता है

  5. MySQL और MariaDB के लिए डेटाबेस प्रॉक्सी चुनना