Bonjour,
J'ai eu un soucis de performances avec une requête. J'ai pu le contourner, mais j'aimerai comprendre le pourquoi.
Requête originale:
Fait planter mon code php avec une erreur 500 ou planter phpmyadmin, ensuite si je rafraîchi la page, c'est quasi instantané. Donc ce n'est pas une erreur au niveau des données passées à la requete.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT count(*) FROM abc_reponse WHERE id_question IN (SELECT id_question FROM abc_test_result WHERE id_test=482)
Requete corrigée:
Maintenant j'ai décomposé la requete en 2:
Et la c'est instantané.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT id_question FROM abc_test_result WHERE id_test=482; //... code php ... pour en retourner une chaine des ids récoltés ci-dessus... $s_ids = implode(',', $ids); SELECT count(*) from abc_reponse where id_question IN ({$s_ids})
J'aimerai simplement comprendre le pourquoi du non fonctionnement de la première.
Je peux fournir la structure des tables si nécessaire.
Merci, Cédric
Partager