J'ai besoin d'acquérir des données à partir d'une table de questions, puis d'OBTENIR des réponses sur le produit. J'ai besoin de la liste de toutes les questions dans une catégorie particulière (un total de 16 catégories sur environ 200 catégories) et ensuite lister les réponses du produit à côté des questions pour un certain ID de produit.Optimisation de la requête mySQL LEFT JOIN
SELECT `questions`.`id`, `questions`.`text`, `questions`.`catalogue_id`, `productanswers`.`answer`
FROM `questions`
LEFT JOIN `productanswers` ON `productanswers`.`question_id` = `questions`.`id`
AND product_id = '2001682'
WHERE `catalogue_id` IN (1234912,1234913,1234914)
ORDER BY `catalogue_id`
qui revient comme je m'attendais à environ 17 résultats. Les questions sans réponse pour ce produit sont remplies avec Null, génial!
Le problème est que la requête prend environ 23 secondes à exécuter: -o rendant impossible une requête complète avec toutes les questions du catalogue.
Comment puis-je optimiser la requête, ou avez-vous d'autres idées?
Merci, Taff
pouvez-vous s'il vous plaît ajouter des colonnes de table et «expliquer» la sortie à la question? – frail