3 votes

Une colonne de clé primaire Sequential Guid doit-elle être un index en grappe ?

L'objectif de l'utilisation d'une ligne directrice séquentielle est de pouvoir utiliser des index en grappes sans les niveaux élevés de fragmentation qui existeraient normalement dans un index en grappes s'il s'agissait d'une ligne directrice normale, n'est-ce pas ?

7voto

chadhoc Points 3197

Tout d'abord, une clé primaire et un index en grappe sont deux choses séparées et distinctes, c'est-à-dire que l'une n'est pas liée à l'autre (les clés primaires peuvent ne pas être en grappe, les index en grappe peuvent ne pas être des clés primaires).

Cela dit, je pense que votre question est plutôt "Un GUID séquentiel doit-il être utilisé comme index en grappe ? C'est une question complexe, mais Kimberly Tripp en a parlé probablement le meilleur de tous ceux que j'ai vus. Notez que l'article fait référence à un PK, mais à l'intérieur de l'article, elle fait référence à la façon dont la considération s'applique principalement au choix d'un index en grappe par rapport à un PK.

En supposant que vous ayez déjà décidé d'utiliser un GUID comme clé de cluster (ce qui peut être ou non le cas), l'utilisation d'un GUID séquentiel serait très probablement un choix supérieur à un GUID non séquentiel, mais il existe au moins un scénario dans lequel un GUID non séquentiel peut être préféré (bien qu'il s'agisse d'un scénario très rare, Il s'agit d'un scénario très rare et très avancé dans lequel vous devez comprendre votre système et votre serveur SQL si bien que vous n'avez aucun doute quant à l'utilisation de ce GUID non séquentiel. Ce scénario concerne les points chauds de votre périphérique de stockage et la répartition de gros volumes d'écritures sur différents sites du cluster.)

2voto

Oui, vous avez raison.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X