MySQL - Requête longue - Création d'index
Callie33
Messages postés
139
Date d'inscription
Statut
Membre
Dernière intervention
-
funnycat Messages postés 153 Date d'inscription Statut Membre Dernière intervention -
funnycat Messages postés 153 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
J'ai un table eod, avec plus de 1,5M de lignes, en voici un extrait :
La requête suivante prend plus de 4 secondes à s'exécuter :
Résultat de l'explain :
J'ai déjà les 2 index suivants de créés :
Quel index devrais-je créer pour diminuer son temps d'exécution ?
Merci d'avance :)
J'ai un table eod, avec plus de 1,5M de lignes, en voici un extrait :
| eod_id | company_symbol | date | open | close | high | low | | 1 | AAA | 01-01-2000 | 40.00 | 42.00 | 43.00 | 39.00 |
La requête suivante prend plus de 4 secondes à s'exécuter :
SELECT company_symbol, COUNT(CASE WHEN CLOSE < OPEN THEN 1 END) AS 'Green Days', COUNT(CASE WHEN OPEN < CLOSE THEN 1 END) AS 'Red Days', COUNT(volume) AS 'Volume' FROM eod GROUP BY company_symbol; This is the result of the explain :
Résultat de l'explain :
id : 1 select_type : SIMPLE table : eod type : index possible_keys : NULL key : eos_cs_date key_len : 57 ref : NULL rows : 1536743
J'ai déjà les 2 index suivants de créés :
create index eod_date_close on eod(date, close); create index eod_cs_date on eod(company_symbol, date);
Quel index devrais-je créer pour diminuer son temps d'exécution ?
Merci d'avance :)
A voir également:
- MySQL - Requête longue - Création d'index
- Creation compte gmail - Guide
- Création site web - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Index téléphonique - Guide
- Création compte google - Guide
1 réponse
Bonjour.
Question très intéressante. A mon avis, vous allez devoir créé plusieurs index et tester à plusieurs reprises pour voir ce qui est le plus optimum.
Je ne connais pas la réponse à cette problématique. Mais à tout hasard, quel est le résultat du EXPLAIN et ya-t-il des gains de performance en créant 3 index : un pour "company_symbol", un autre pour "open" et un dernier pour "close"?
Et à quoi correspond "volume"?
Cordialement,
Question très intéressante. A mon avis, vous allez devoir créé plusieurs index et tester à plusieurs reprises pour voir ce qui est le plus optimum.
Je ne connais pas la réponse à cette problématique. Mais à tout hasard, quel est le résultat du EXPLAIN et ya-t-il des gains de performance en créant 3 index : un pour "company_symbol", un autre pour "open" et un dernier pour "close"?
Et à quoi correspond "volume"?
Cordialement,