Si le but de l’index d’un livre est de nous permettre d’accéder plus rapidement au sujet qui
nous intéresse dans ce livre, il en est de même pour les index dans la base de données, à la
différence que ces index vont nous permettre de retrouver plus rapidement les données
stockées dans la base.
Il existe plusieurs types d’index (index ou index-cluster, unique ou non unique…). Un index
ordonné en clusters trie physiquement les lignes d’une table. Un index non ordonné en
clusters s’appuie sur les informations d’emplacement de stockage contenues dans les pages
d’index pour naviguer vers les pages de données (on parle de tri logique).
Une table ne peut posséder qu’un seul index ordonné en clusters, car ses lignes ne peuvent
être stockées que dans un seul ordre physique. L’ordre physique des lignes de l’index et
l’ordre des lignes de l’index sont identiques (il est conseillé de créer cet index avant tout
autre).
Créer un index
Un index peut être créé à n’importe quel moment, qu’il y ait ou non des données dans la
table. Simplement, il est préférable de créer l’index après une importation majeure de
données, pour éviter à avoir à le reconstruire par la suite, ce qui causera une perte
conséquente de temps au niveau serveur.
L’instruction CREATE INDEX de Transact-SQL ou l’option « Nouvel Index » dans le menu
contextuel du nœud Index de la table choisie de « Microsoft SQL Server Management Studio »
peuvent être utilisés pour la création d’index.
90
Prenons l’exemple suivant : Créez un index non-cluster sur la colonne NUMFOU de la table
ENTCOM.
Par l’interface
Au niveau du dossier Index de la table sur laquelle vous souhaitez créer votre index, cliquez
droit puis « Nouvel Index ».
Donner un nom à votre index puis un type. Ici on précise le Type d’index « Non Cluster ».
Cliquez sur « Ajouter… ».
Puis sélectionnez les colonnes sur lesquelles l’index va s’appliquer.
91
Cliquez sur « Ok ». Après actualisation, votre index figurera dans le dossier « Index ».