3
私は最適化したい多対多クエリを持っていますか? インデックスはどのように作成する必要がありますか?SQL多対多クエリインデックスの最適化
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
あなたはExplain
ステートメントを使用してクエリ実行プランを見てみることができます
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:かなり多くの試行錯誤、そして、それがアクセスしていますどのようにデータに依存&...ここ –
は結果 PRIMARY、使用post_status \t post_status \t 1つの\t constのです。 filesortの使用 – dsportesa
これまでの実行計画とは異なり、クエリにはpost_statusがキーとして含まれていました。 –