SQL Server : Index data (cluster)

Il ne peut y avoir qu’un seul index clusterisé par table. Les données de la table sont logiquement triées dans l’ordre de l’index clusterisé, ce qui explique qu’il n’y en a qu’un seul. Autrement dit, l’index clusterisé étant un arbre-b, les feuilles de l’index sont directement les lignes dans la table.

Un index non clusterisé ne reflète pas l’ordre physique des lignes de la table.

Les deux types d’index sont construits à partir d’une clé, composée d’un certain nombre de champs. Ils permettent de retrouver rapidement une donnée à partir de tout ou partie des champs de cette clé.

Ainsi, si nous considérons une clé (A, B, C), on peut faire des recherches sur les champs (A), (A, B) et (A, B, C). Les champs sont considérés dans l’ordre de la clé ; il n’est donc pas possible de faire une recherche sur, par exemple (B, C) ou (C) avec cet index. En revanche une recherche sur (A, C) profitera aisément de l’indexation de la colonne A.

Références :

http://www.simple-talk.com/sql/learn-sql-server/sql-server-index-basics/

An Introduction to Clustered and Non-Clustered Index Data Structures

De l’importance des index en cluster

 

Une table peut contenir 999 index. Chaque index peut contenir 16 colonnes dont la somme des tailles n’excède pas 900 octets. Les index contiennent en plus des données des colonnes de l’index un signet (bookmark) vers les données de la table. Celui-ci peut être soit un pointeur vers une ligne, soit une des clefs de l’index clusterisé (en anglais : index clusterised).

extradrmtech

Since 20 years I work on Database Architecture and data migration protocols. I am also a consultant in Web content management solutions. I am an experienced web-developer with over 10 years developing PHP/MySQL, C#, VB.Net applications ranging from simple web sites to extensive web-based business applications. When not writing code, I like to dance salsa and swing and have fun with my little family.

You may also like...

Leave a Reply