web-dev-qa-db-fra.com

"Évitez de créer un index en cluster basé sur une clé incrémentée" un mythe de SQL Server 2000 jours?

Nos bases de données consistent en de nombreuses tables, la plupart d'entre elles utilisant une clé de substitution entière comme clé primaire. Environ la moitié de ces clés primaires sont sur des colonnes d'identité.

Le développement de la base de données a commencé dans les jours de SQL Server 6.0.

L'une des règles suivies depuis le début était, Évitez de créer un index en cluster basé sur une clé d'incrémentation , comme vous y trouvez dans ces éléments Optimisation de l'index Conseils .

Maintenant, en utilisant SQL Server 2005 et SQL Server 2008, j'ai une forte impression que les circonstances ont changé. Pendant ce temps, ces colonnes de clés primaires sont des premiers candidats parfaitement pour l'indice en cluster de la table.

22
bernd_k

Pour résumer, dans les versions modernes SQL Server, une clé en cluster sur une colonne d'identité est l'option préférée de nos jours.

23
mrdenny

vérifiez ce message:

http://blogs.msdn.com/b/sqlserverfaq/archive/2010/05/27/monotoniquement-increasing-Crustered-Index-Keys-Can-Cause-Latch-Conttention.aspx

la création d'un index en cluster basé sur une clé d'incrémentation peut créer des taches chaudes qui sont mauvaises pour la performance ...

4
lucky7_2000