6
Objectif
Vous n’ignorez pas que l’indexation est un sujet important. Sans index, les SGBDR
n’auraient aucune utilité, car ils ne pourraient permettre aucune recherche rapide
dans les données. Toute manipulation dans les tables obligerait le moteur à les parcourir de bout en bout. Même une simple contrainte d’unicité serait irréalisable.
Comprendre et utiliser les index au maximum de leurs possibilités est ce qui va vous
donner le levier le plus important pour augmenter les performances de vos bases de
données. Nous allons donc les voir en détail.
6.1 PRINCIPES DE L’INDEXATION
Vous êtes administrateur de bases de données, votre vie professionnelle est donc
bien remplie. Mais cela ne soulage pas des grandes questions métaphysiques : quel est
le sens de la vie ? Pour y répondre, vous décidez de rencontrer un philosophe.
Qu’allez-vous faire pour en trouver un dans votre ville ? Bien entendu, vous allez
consulter l’annuaire téléphonique, et plus précisément les pages jaunes. Si vous ne
disposez pas d’annuaire, vous n’avez d’autre solution que d’errer dans les rues, pour y
chercher au hasard, sur une plaque ou une boîte aux lettres, la mention du métier de
philosophe. SQL Server n’est pas différent. Lorsque vous filtrez le contenu d’une
table dans une requête, à l’aide en général d’un prédicat dans une clause WHERE, SQL
Server doit parcourir la table pour évaluer ce prédicat sur chaque ligne. Cette opération est évidemment très coûteuse, proportionnellement à la taille de la table. Toute
la table doit être mise en mémoire et parcourue, c’est-à-dire que toutes les pages de
Utilisation des index
Objectif
Vous n’ignorez pas que l’indexation est un sujet important. Sans index, les SGBDR
n’auraient aucune utilité, car ils ne pourraient permettre aucune recherche rapide
dans les données. Toute manipulation dans les tables obligerait le moteur à les parcourir de bout en bout. Même une simple contrainte d’unicité serait irréalisable.
Comprendre et utiliser les index au maximum de leurs possibilités est ce qui va vous
donner le levier le plus important pour augmenter les performances de vos bases de
données. Nous allons donc les voir en détail.
6.1 PRINCIPES DE L’INDEXATION
Vous êtes administrateur de bases de données, votre vie professionnelle est donc
bien remplie. Mais cela ne soulage pas des grandes questions métaphysiques : quel est
le sens de la vie ? Pour y répondre, vous décidez de rencontrer un philosophe.
Qu’allez-vous faire pour en trouver un dans votre ville ? Bien entendu, vous allez
consulter l’annuaire téléphonique, et plus précisément les pages jaunes. Si vous ne
disposez pas d’annuaire, vous n’avez d’autre solution que d’errer dans les rues, pour y
chercher au hasard, sur une plaque ou une boîte aux lettres, la mention du métier de
philosophe. SQL Server n’est pas différent. Lorsque vous filtrez le contenu d’une
table dans une requête, à l’aide en général d’un prédicat dans une clause WHERE, SQL
Server doit parcourir la table pour évaluer ce prédicat sur chaque ligne. Cette opération est évidemment très coûteuse, proportionnellement à la taille de la table. Toute
la table doit être mise en mémoire et parcourue, c’est-à-dire que toutes les pages de
Utilisation des index
