SQL Server GUID

Sql Server Guid



בפוסט זה נלמד כיצד להשתמש בסוג הזיהוי הייחודי ב-SQL Server. נשתמש גם בפונקציות NEWID() ו- NEWSEQUENTIALID() כדי ליצור ערכי GUID.

SQL Server Uniqueidentifier סוג

זהו ערך GUID של 16 בתים המשמש בעמודה או במשתנה מקומי. ניתן ליצור ערך של סוג מזהה ייחודי באמצעות הפונקציות NEWID() ו- NEWSEQUENTIALID() .

ניתן גם ליצור ערך GUID על ידי המרת ערך מחרוזת בתבנית xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx כאשר x היא ספרה הקסדצימלית בטווח של 0 - 9.







בשל 'האקראיות' של ערך GUID, מובטח שערך GUID יכול להיות ייחודי במסד נתונים או אפילו בשרתים. זה הופך לסוג נתונים מצוין לזיהוי ייחודי של ערך נתון.



SQL Server NEWID() פונקציה

הפונקציה NEWID() מאפשרת לנו ליצור ערך ייחודי חדש מסוג uniqueidentifier. התחביר הוא כפי שמוצג:



שינוי ( )

לדוגמה:





להצהיר @gid uniqueidentifier;
set @gid = CHANGE();
בחר @gid בתור gid;

ההצהרות שלעיל צריכות להחזיר ערך GUID כ:

גיד
873412E2-A926-4EAB-B99F-A1E47E727355

SQL Server NEWSEQUENTIALID() פונקציה

פונקציה זו מאפשרת לך ליצור ערכי GUID ייחודיים ברצף. זה עובד על ידי יצירת ערך GUID גדול יותר מה-GUID שנוצר קודם לכן.



זה הופך אותו לשימושי כמזהה שורה מכיוון שהוא יוצר ערכים ברצף במקום קביעה ידנית של ערך ה-GUID הבא באמצעות הפונקציה NEWID() .

תחביר הפונקציה הוא כפי שמוצג:

NEWSEQUENTIALID ( )

שימוש ב- SQL Server GUID כמזהה שורה

הדוגמה הבאה מראה כיצד להשתמש בפונקציה newsequentialid() כמזהה שורה עבור עמודה נתונה.

צור ערכי טבלה (
id uniqueidentifier לא null המפתח הראשי newsequentialid() ברירת המחדל,
server_name varchar(50),
server_address varchar(255) לא null,
compression_method varchar(100) ברירת המחדל 'ללא',
size_on_disk float לא null,
size_compressed float,
total_records int לא null,
init_date date
);
לְהַכנִיס
לְתוֹך
ENTRIES(server_name,
כתובת שרת,
שיטת_דחיסה,
size_on_disk,
size_compressed,
סך_רשומות,
init_date)
ערכים
('MySQL','localhost:3306','lz77',90.66,40.04,560000,'2022-01-02'),
('Redis','localhost:6307','Snappy',3.55,998.2,100000,'2022-03-19'),
('PostgreSQL','localhost:5432','pglz',101.2,98.01,340000 ,'2022-11-11'),
('Elasticsearch','localhost:9200','lz4',333.2,300.2,1200000,'2022-10-08'),
('MongoDB','localhost:27017','Snappy',4.55,4.10,620000,'2021-12-12'),
('Apache Cassandra','localhost:9042','zstd',300.3,200.12,10000000,'2020-03-21');

בדוגמה שלמעלה, הגדרנו את העמודה ID כסוג הזיהוי הייחודי ואת ערך ברירת המחדל כערך שנוצר על ידי הפונקציה newsequentilid() .

הטבלה המתקבלת היא כפי שמוצג:

בחר * מתוך ערכים;

תְפוּקָה:

למרות ששימוש בערכי GUID יכול לספק ייחודיות קפדנית, זה יכול להיות קשה בעת ניפוי באגים או בחירת ערכים ספציפיים.

סיכום

במדריך זה למדת על סוג הזיהוי הייחודי ב-SQL Server. למדת גם כיצד ליצור ערכי GUID באמצעות הפונקציות NEWID() ו- NEWSEQUENTIALID().