Problème de lenteur avec MySQL sur une table de 10 millions d'entrées
Problème de lenteur avec MySQL sur une table de 10 millions d'entrées
Salut à tous, je gère une base MySQL avec une table de 10M de lignes (InnoDB). Les requêtes SELECT simples prennent parfois 2-3 secondes, c'est ingérable. J'ai un index sur le champ 'user_id', mais ça ne suffit pas. Des idées ?
Re: Problème de lenteur avec MySQL sur une table de 10 millions d'entrées
As-tu vérifié ton plan d'exécution avec EXPLAIN ? Parfois, MySQL ignore les indexes si la requête est mal formulée. Aussi, regarde ta RAM dispo, InnoDB utilise beaucoup le buffer pool.
-
guillaume34
- Messages : 103
- Inscription : jeu. oct. 12, 2023 7:24 pm
Re: Problème de lenteur avec MySQL sur une table de 10 millions d'entrées
Je confirme pour EXPLAIN. Et si tu as des jointures, vérifie l'ordre des tables. MySQL est capricieux là-dessus. Sinon, partitionnement ? J'ai gagné 70% de perfs sur une table similaire en partitionnant par année.
Re: Problème de lenteur avec MySQL sur une table de 10 millions d'entrées
Merci ! EXPLAIN montre un 'full scan' sur une sous-requête... Je vais revoir ça. Pour le partitionnement, c'est sur du timestamp, mais je crains la surcharge à l'écriture. Vous utilisez quel format ? RANGE ?
Re: Problème de lenteur avec MySQL sur une table de 10 millions d'entrées
Attention, le partitionnement a des limites ! Sur notre serveur Dell PowerEdge R740 (128GB RAM), on a eu des deadlocks en écriture avec 15 partitions. Teste d'abord en dev avec un jeu réaliste.