Page 1 sur 1

Optimisation de requêtes SQL en PHP : vos astuces pour éviter les bottlenecks

Publié : dim. août 25, 2024 4:39 pm
par zed33
Salut à tous ! Je bosse sur une appli PHP/MySQL qui commence à ramer sévère sur les requêtes complexes. Des fois j'ai des JOIN sur 4 tables avec des WHERE un peu lourds. Vous avez des bonnes pratiques pour optimiser ça ? Je suis sous MySQL 8.0.

Re: Optimisation de requêtes SQL en PHP : vos astuces pour éviter les bottlenecks

Publié : dim. août 25, 2024 7:39 pm
par vincent92
Déjà, as-tu vérifié tes indexes ? Un EXPLAIN ANALYZE sur tes requêtes problématiques peut te montrer les scans full table. Perso j'ai gagné 70% de perfs rien qu'en ajoutant des indexes composites bien foutus.

Re: Optimisation de requêtes SQL en PHP : vos astuces pour éviter les bottlenecks

Publié : dim. août 25, 2024 8:39 pm
par romain_du_44
Je plussoie pour les indexes. Et aussi : penses-tu à utiliser des requêtes préparées ? Pas juste pour la sécurité, mais MySQL cache le plan d'exécution donc tu gagnes sur les requêtes répétitives.

Re: Optimisation de requêtes SQL en PHP : vos astuces pour éviter les bottlenecks

Publié : lun. août 26, 2024 1:39 am
par zed33
Merci pour les tips ! J'utilise PDO donc oui pour les requêtes préparées. Par contre les indexes composites j'avais pas creusé. Vous recommandez combien de colonnes max dans un index ? J'ai des tables avec 10+ champs...

Re: Optimisation de requêtes SQL en PHP : vos astuces pour éviter les bottlenecks

Publié : lun. août 26, 2024 1:39 pm
par flo92
Au-delà de 4-5 colonnes ça devient contre-productif. Focalise-toi sur les colonnes utilisées dans tes WHERE et JOIN. Et n'oublie pas le partitionnement si tes tables dépassent les 5-10 millions de lignes !