J'ai une requête many-to-many que j'aimerais optimiser, quels index dois-je créer pour cela?sql optimisation des index de requête many-to-many
SELECT (SELECT COUNT(post_id)
FROM posts
WHERE post_status = 1) as total,
p.*,
GROUP_CONCAT(t.tag_name) tagged
FROM tags_relation tr
JOIN posts p ON p.post_id = tr.rel_post_id
JOIN tags t ON t.tag_id = tr.rel_tag_id
WHERE p.post_status=1
GROUP BY p.post_id
EXPLIQUEZ
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY p ALL PRIMARY NULL NULL NULL 5 Using where; Using filesort
+1: Quasiment tâtonnement, et il dépend des données et la façon dont il est accessible ... –
ici est le résultat PRIMAIRE, post_status \t post_status const En utilisant où; Utilisation de filesort – dsportesa
Maintenant, votre requête dispose de post_status en tant que clé, contrairement à votre plan d'exécution précédent qui était NULL. –