Bonjour
J'aimerais avoir des précisions sur la logique d'utilisation des index par MySQL. Je m'explique.
Je travaille actuellement sur une application qui utilise des fichiers DBase.
Les fichiers DBF sont associés chacun à de nombreux index basés sur des "expressions" composées de plusieurs champs.
La version actuelle du programme utilise ces index principalement pour faire des sélections de plages d'enregistrements, simplement parce que le développeur précédent ne savait pas faire un "select ...where..." et order by encore moins.
J'ai acheté et lu et de bout en bout le livre de Stéphane Combaudon et je crois avoir compris quelque chose mais ... les avis des spécialistes ici confirmeront ou pas ma compréhension de la chose.
Donc, je vois 2 cas:
Cas 1 : je fais un index composé de 3 champs C1, C2, C3 sur la table truc. MySQL l'utilise tel quel si j'ouvre la table dans mon le logiciel en utilisant cet index..
Cas 2: je fais 3 index, le premier sur C1, le second sur C2, le troisième sur C3. Je fais une requête
select * from truc where C1 = 1 and C2 = 3 and C3 = 12 orber by C1, C2, C3
Si j'ai compris, les 3 index seront utilisés comme un seul index composé et le résultat sera le même.
Alors question: j'ai bon ou pas ??
Partager