- Oui. Key est le synonyme de l'index.
- Conception de base de données et requêtes utilisées. Il n'y a pas de réponse unique.
- Lorsque ces colonnes multiples ont été utilisées dans la requête. Il n'y a pas de réponse unique.
- Oui, le moteur n'a aucune incidence sur l'indexation.
- Habituellement, c'est le cas. Toute applicadion en direct ne se fonde pas sur ses données, pas seulement sur la clé primaire. Il n'y a pas de réponse unique.
L'indexation est un travail assez complexe. Tout d'abord, il devrait être fait en fonction des besoins réels. Si certaines de vos requêtes tournent lentement, il est temps d'ajouter des index. Si votre requête s'exécute rapidement, aucun index requis. Ensuite, exécutez votre requête avec le mot EXPLAIN
devant, par ex. EXPLAIN SELECT * FROM table
et voir ce qu'il dit. Habituellement, il aide à déterminer, où placer une idnexe.
http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html - plus d'explications ici
@Shrapnel: que cela veut dire que je devrais indexer toutes les colonnes qui sont fréquemment utilisés dans le choix des requêtes? – understack
question éditée 4 pour être plus clair. – understack
@understack pas si facile. Voir réponse à la mise à jour. –