Bonjour a tous,
Structure de ma base :
3 tables :
client, prestataire, planning
2 jointures :
client <- planning (clé secondaire dans planning)
prestataire <- planning (clé secondaire dans planning)
champs table planning :
identifiant auto, heure debut, heure fin, date debut, date fin, lien prestataire, lien client
5 index :
lien prestataire
lien client
date debut
date fin
identifiant auto (index automatique sur la clé primaire)
requete de test et temps d'execution :
select * from planning where date debut>='01/01/2006' and date fin<='31/12/2006'; (environ 4 sec)
select * from planning where date debut>='01/01/2006' and date fin<='31/12/2006' order by planning identifiant; (environ 20 sec)
select * from planning where date debut>='01/01/2006' and date fin<='31/12/2006' order by [n'importe quel champs]; (environ 20 sec)
Si je supprime les 2 index sur date debut et date fin,
requete de test et temps d'execution :
select * from planning where date debut>='01/01/2006' and date fin<='31/12/2006'; (environ 4 sec)
select * from planning where date debut>='01/01/2006' and date fin<='31/12/2006' order by planning identifiant; (environ 4 sec)
select * from planning where date debut>='01/01/2006' and date fin<='31/12/2006' order by [n'importe quel champs]; (environ 4 sec)
A quoi ce problème de lenteur est-il du ?
Sachant que je ne peut pas supprimer les index sur les champs en questions car il me font réellement gagner du temps sur l'exectution de certaines editions et certaines requetes.
Que puis-je faire ?
D'avance merci.
Partager