Bonjour,
Je suis en train de tenter d'optimiser ma base et je voudrais avoir votre avis sur les index que j'utilise.
Ma page php exécute un certain nombre de fois les 7 requête suivantes :
1. SELECT id WHERE v1=val1 AND v2=val2 AND v3=val3 AND v4=val4
2. SELECT id WHERE v1=val1 AND v2<=val2 AND v2bis>=val2bis AND v3=val3 AND v4=val4
3. SELECT id WHERE v1=val1 AND v2<=val2 AND v2bis>=val2bis AND v3=val3 AND v4=val4 AND v5 = val5
4. SELECT id WHERE v1=val1 AND v2<=val2 AND v2bis>=val2bis AND v3=val3 AND v4=val4 AND v6 = val6
5. SELECT id WHERE v1=val1 AND v2<=val2 AND v2bis>=val2bis AND v3=val3 AND v4=val4 AND (v7 = val7 OR v7 = val7bis)
6. SELECT id WHERE v1=val1 AND v2<=val2 AND v2bis>=val2bis AND v3=val3 AND v4=val4 AND v8 = val8
7. SELECT id WHERE v1=val1 AND v2<=val2 AND v2bis>=val2bis AND v3=val3 AND v4=val4 AND (v7 = val7 OR v7 = val7bis) AND v8 = val8
Sachant que chaque requête est exécutée si la précédente ne donne rien.
ma clé primaire est id et j'ai placé un index sur les colonnes suivantes (dans cet ordre) :
v1,v2,v4,v3 et v5.
v1 aura moins de 1000 valeurs possibles
v2 aura moins de 10 000 valeurs possibles
v3 a au maximum 288 valeurs possibles
v4 a 7 valeurs possibles
v5 aura moins de 10 000 valeurs possibles
Dans ma base, je pourrai compter jusqu'à 200 000 enregistrements (14 000 après 1 an d'exploitation)
Que pensez vous de mes index ? Avez vous un lien me permettant d'étudier leur pertinence ?
Question subsidiaire : vaut il mieux que je fasse 7 requête simple ou une seule requête qui reprend tous les where ci dessus ?
Merci de votre aide !
Partager