Les index sont essentiels à toute base de données.
En termes « profanes », les index sont… eh bien, précisément cela. Vous pouvez considérer un index comme une seconde table masquée qui stocke deux choses :les données triées et un pointeur vers sa position dans la table.
Quelques règles générales sur la création d'index :
- Créez des index sur chaque champ qui est (ou sera) utilisé dans les jointures.
- Créez des index sur chaque champ sur lequel vous souhaitez effectuer des
where
fréquents conditions. - Évitez de créer des index sur tout. Créez un index sur les champs pertinents de chaque table et utilisez des relations pour récupérer les données souhaitées.
- Évitez de créer des index sur
double
champs, sauf si cela est absolument nécessaire. - Évitez de créer des index sur
varchar
champs, sauf si cela est absolument nécessaire.
Je vous recommande de lire ceci :http://dev. mysql.com/doc/refman/5.5/en/using-explain.html