Speaker : Gail Shaw – MCM, MVP
Niveau de la session : 400
- Why index ?
* réduire le nombre de lignes retournées par la requête,
* supporter les requêtes qui trient les données,
* assurer l’unicité de la valeur dans une colonne ou un groupe de colonnes,
- Index architecture
* présentation de la b-tree structure dans laquelle chaque page de données a une entrée vers la ou les pages qui la constituent,
* data pages : on les retrouve au niveau feuille d’un clustered index (PageType = 2),
* index pages : on les retrouve au niveau page d’un clustered index et à tous les niveaux d’un non-clustered index (PageType = 1),
* chaque feuille est doublement connectée à celle qui la suit,
* clustered index –> IndexID = 1,
* non-clustered index –> IndexID <> 1,
- Clustered indexes
* le clustered index key est forcément unique. S’il n’est pas spécifié comme unique, SQL le rend unique en rajoutant une colonne,
* le clustered index est choisi :
– en fonction des colonnes les plus requêtées,
– au moment de la création de la table afin de définir son organisation,
* la clé primaire est un cluster index par défaut,
- Démo sur cluster index :
Int –> 298 secondes pour insérer 1 million de lignes Unique identifier –> 865 secondes pour insérer 1 million de lignes FirstName –> 663 secondes pour insérer 1 million de lignes
- Conclusion :
Session intéressante et riche en contenu mais malheureusement trop de questions ont été posées. La session a débordé sur la session suivante. J’ai dû rater la suite de la session qui devait traiter les 2 sujets prévus dans l’agenda à savoir les non-clustered index et l’index maintenance.
Ismaïl Ben Lamine