Si les index permettent à la base de données de mieux parcourir les enregistrements, pourquoi ne mettrait-on pas un index sur chaque champ ? Est-ce que cela n’améliorerait pas les recherches ?
En fait, il y a une raison très simple pour ne pas indexer chaque champ :
- Mettre des index partout fait grossir le fichier d’index, et donc ralentit l’accès aux données. Le bénéfice apporté par l’index est perdu.
De plus, si jamais votre base est normalisée, la redondance des index est déjà prise en compte, et si elle est dénormalisée, vous n’avez pas à créer trop d’index.

30 août 2008 at 0:18
Je ne crois que l’accès aux données serait dégradé dans un cas comme vous mentionnez.
Le désagrément, et il est majeur, est lors de l’insertion et de la mise à jour des données. Il faut alors mettre à jour les index.
De façon générale, il faut savoir comment seront consultées les données et bâtir les index en conséquence.