Både NEWID()
og NEWSEQUENTIALID()
giv globalt unikke værdier af typen >uniqueidentifier
.
NEWID()
involverer tilfældig aktivitet, så den næste værdi er uforudsigelig, og den er langsommere at udføre.
NEWSEQUENTIALID()
involverer ikke tilfældig aktivitet, så kan den næste genererede værdi forudsiges
(ikke let!) og udføres hurtigere end NEWID()
.
Så hvis du ikke er bekymret for den næste værdi, der forudsiges (af sikkerhedsmæssige årsager), kan du bruge NEWSEQUENTIALID()
. Hvis du er bekymret for forudsigelighed, eller du ikke har noget imod den lille præstationsstraf, kan du bruge NEWID()
.
Men i streng forstand er der stadig ubetydelige chancer for, at GUID'er genereret af forskellige maskiner har samme værdi. I praksis anses det for at være umuligt.
Hvis du vil have yderligere info, så læs dette:Hvilken metode til at generere GUID'er er bedst til at sikre, at GUID'en virkelig er unik?
Bemærk NEWID()
overholder RFC 4122
. Og den anden funktion bruger en Microsofts algoritme til at generere værdien.