Salut,
Voila mon pb:
J'ai un table "T1" qui à environ 1,5 million de lignes et les colonnes suivantes :
IDENT(texte)
DONNEES(texte)
EVENT(num)
DATE(date)
Il n'y a pas de clé primaire. Il y a plusieurs enregistrement avec le même IDENT.
J'ai créé les index suivants :
IDENT
DATE
EVENT
IDENT + EVENT + DATE
IDENT + EVENT
Je cherche les données (DONNEES) du dernier enregistrement (selon DATE) pour un identifiant donné (IDENT) et un lot d’événements (EVENT).
J'ai donc pondu cette requête :
Jusque là tout vas bien!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT DONNEES FROM T1 WHERE IDENT="toto" AND EVENT IN (8,45,46,47,205,206) ODRER BY DATE DESC LIMIT 1
Mais en fonction de l'identifiant que je rentre j'ai des temps de réponse carrément anarchiques.
Par exemple pour l'identifiant "toto" qui à 38000 lignes la requête s’exécute en 0,3 secondes tandis que pour l’identifiant "titi" qui à 3500 lignes elle met 20 secondes !!!?
Comment ça se fait d'après vous??
Partager