Question

Je sais que les clés primaires basées sur les GUID n'offrent pas les meilleures performances (en raison de la fragmentation), mais elles sont globalement uniques et permettent des scénarios de réplication.

Les identificateurs intégrés, d’autre part, offrent de meilleures performances au détriment de l’évolutivité.

Mais dans quels scénarios quelqu'un voudrait-il utiliser l'identificateur unique séquentiel comme clé primaire? Je pense que cela va au-delà de l'objectif du GUID, mais je vois tout de même mentionner les séquentals de temps en temps.

Qu'est-ce qui me manque ici?

Était-ce utile?

La solution

Ce qui est communément appelé guids séquentiels dans SQL Server 2005 (généré par NEWSEQUENTIALID ()) constitue une tentative de résolution des problèmes liés aux guids normaux.

Ils sont toujours universellement uniques, mais ils sont également toujours ascendants. Cela signifie qu'ils peuvent être utilisés pour la réplication et : ils offrent de bien meilleures performances d'insertion que les GUID traditionnels.

L’inconvénient est qu’ils ne sont pas "sécurisés". car il est possible de deviner le prochain guide séquentiel.

http://msdn.microsoft.com/en-us/library /ms189786.aspx

Autres conseils

L'utilisation de guides séquentiels garantit que vous utilisez toujours une valeur supérieure à la dernière valeur. Ceci est important pour un champ indexé. Au lieu d’insérer de manière aléatoire sur tout le spectre, vous insérez toujours à la fin de la dernière "page". des fractionnements de page considérablement réduits, en particulier dans le cas où votre colonne uniqueidentifier est également votre index clusterisé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top