Bonjour à tous,
J'ai une table 'rendezvous' (innoDB) qui contient aujourd'hui 850000 enregistrements. J'essaye de créer les index qui vont bien afin d'optimiser la plupart des requetes.
Le problème, c'est qu'en insérant un index par date, je trouve le nombre de lignes parcourues par le moteur beaucoup trop important.
Voici la requete :
Il me renvoie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 explain select id from rendezvous where DT BETWEEN '2008-01-01' AND '2008-05-30';
- select_type : SIMPLE
- type : range
- possible_keys : DT
- key : DT
- rows : 384898
Pour info, un simple :
me retourne 282742.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select count(*) from rendezvous where DT BETWEEN '2008-01-01' AND '2008-05-30';
Sachant que je dois souvent faire une jointure de cette table avec d'autres, j'arrive à parcourir 50 millions de lignes (le nb de lignes parcourues pour l'autre table étant d'une bonne centaine)
Avez-vous des idées pour optimiser cela ? Est-ce déjà optimisé ?
Merci infiniment.
Partager