Page 1 sur 1

Problème de lenteur avec MySQL sur une table de 10 millions d'entrées

Publié : mar. janv. 14, 2025 5:26 pm
par zed33
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

Publié : mar. janv. 14, 2025 8:26 pm
par vincent92
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.

Re: Problème de lenteur avec MySQL sur une table de 10 millions d'entrées

Publié : mar. janv. 14, 2025 9:26 pm
par guillaume34
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

Publié : mer. janv. 15, 2025 2:26 am
par zed33
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

Publié : mer. janv. 15, 2025 2:26 pm
par flo92
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.