Ce type de données est GUID dans SQL server?
Comment est GUID stockée en interne et par rapport par SQL (en particulier MS SQL server 2008)? Est-il un nombre ou une chaîne de caractères? Aussi, est-il un gros gain de performance lors de l'utilisation de GUID comme clé primaire?
Outre le problème avec le regroupement mentionné ici:
Quelles sont les meilleures pratiques pour l'utilisation d'un GUID comme clé primaire, particulièrement en ce qui concerne la performance?
Je pense qu'il devrait être 128bit nombre (comme décrit ici), mais je ne trouve pas de mode des détails sur la façon dont il est mis en œuvre dans SQL server.
OriginalL'auteur Ondrej Peterka | 2013-05-13
Vous devez vous connecter pour publier un commentaire.
De 16 octets, exactement comme le GUID structure:
OriginalL'auteur Remus Rusanu
Performance sage, normal
GUID
est plus lent queINT
dans SQL ServerSi vous prévoyez d'utiliser
GUID
, utilisezuniqueidentifier
au lieu devarchar
comme type de données. Microsoft n'a pas parler de la façon dont ils mettent en œuvre, il existe une certaine optimisation de la vitesse lorsque vous utilisezuniqueidentifier
comme type de données.À utiliser
GUID
comme clé primaire, sans sacrifier la vitesse de entier, faire de laGUID
valeur séquentielle. Définiruniqueidentifier
type de données que PK, définir la valeur par défaut pourNEWSEQUENTIALID()
.Voir NEWSEQUENTIALID (Transact-SQL) pour plus de détails.
Quant à la façon séquentielle
GUID
valeurs de performance, voir Le Coût de Guid comme Clés Primaires.OriginalL'auteur MikeLim
Vous pouvez également utiliser le type de données nvarchar(128).
La meilleure option serait un binaire(16) de la colonne:
standard Guid sont exactement une longueur de 16 octets.
Si vous devez stocker une chaîne de caractères, la longueur s'agit vraiment de la façon dont vous choisissez de le coder. Comme hex (AKA base 16 codage), sans traits d'union, il serait de 32 caractères (deux chiffres hexadécimaux par octet).
OriginalL'auteur Alireza Zamani