Comparând valorile ghidului și identificatorului unic

Tipul de date al GUID din SQL Server este reprezentat de tipul de date unic identificator. care stochează o valoare binară de 16 octeți. Un GUID este un număr binar, folosit în principal pentru a atribui identificatori care trebuie să fie unici într-o rețea cu un număr mare de computere în diferite locații. GUID-urile pot fi create prin apelarea funcției Transact-SQL NEWID, fiind garantate că sunt unice în orice locație. Pentru mai multe informații, consultați "Utilizarea valorilor identificatorului unic" în SQL Server Books Online.







Deoarece valorile GUID sunt lungi și opace, ele nu suportă sarcini semantice pentru utilizatori. În cazul în care valorile-cheie utilizate valori aleatoare GUID și introduce mai multe linii, dă naștere la o creștere a IOPS în index, ceea ce poate afecta negativ performanța. În plus, valorile GUID sunt relativ mari în comparație cu alte tipuri de date. În general, se recomandă ca valorile GUID să fie utilizate numai pentru o gamă restrânsă de scenarii pentru care alte tipuri de date nu sunt adecvate.







Valorile identificatorului unic pot fi utilizate în operatorii de comparație. Cu toate acestea, ordonarea lor se realizează fără a utiliza comparația de biți. Identificatorul unic peste valorile poate efectua numai operații de comparare (=, <>, <,>, <=,>=), precum și verificarea pentru NULL (este NULL și NU este NULL). Alți operatori aritmetici sunt interzise.

Structurile Guid și SqlGuid au o metodă CompareTo pentru compararea diferitelor valori GUID. Cu toate acestea, metodele de System.Guid.CompareTo și SqlTypes.SqlGuid.CompareTo sunt implementate în moduri diferite. În SqlGuid, metoda CompareTo este implementată folosind comportamentul SQL Server în cele mai semnificative ultime 6 octeți ale valorii. În Guid toate cele 16 octeți sunt evaluate. Următorul exemplu demonstrează această diferență. Prima parte a codului arată valorile nesortate ale Guid. în a doua parte - sortează valorile Guid. Partea a treia prezintă valorile sortate ale lui SqlGuid. Ieșirea este afișată după listarea cu coduri.







Articole similare

Trimiteți-le prietenilor: