Sommaire

Comment ça marche ?

Dans la terminologie des bases de données, relationnelles ou non, un index est en tous points semblable à celui que l’on trouve à la fin de n’importe quel livre : on y regroupe les termes importants qui figurent dans l’ouvrage avec, en face de ceux-ci, les numéros des pages dans lesquelles ils se trouvent. Ceci nous évite tout simplement d’avoir à relire la totalité du livre lorsque nous cherchons un simple terme.

Par analogie, un index posé sur le champ ou le sous-champ d’une collection nous évite d’avoir à parcourir toute notre collection pour retrouver les valeurs de ce champ (ou sous-champ) correspondant à notre requête et participe ainsi à garder le temps d’exécution de nos requêtes le plus petit possible.

Les index ont des avantages et des inconvénients : ils améliorent considérablement les temps d’exécution des requêtes en lecture, mais ils ralentissent les opérations d’écriture telles que les insertions, les suppressions ou les mises à jour, qui nécessitent leur reconstruction. Cependant, les ralentissements observés sont généralement négligeables par rapport à la réduction du temps d’exécution qu’ils engendrent.

Pour savoir quels champs d’une collection ont besoin d’être indexés, il faut avoir une idée des requêtes ...