gpt4 book ai didi

mysql - sql多对多查询索引优化

转载 作者:可可西里 更新时间:2023-11-01 08:21:17 25 4
gpt4 key购买 nike

我有一个我想优化的多对多查询,我应该为它创建什么索引?

  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

解释

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

最佳答案

您可以使用Explain 语句查看查询执行计划。这将向您显示是否正在进行全表扫描,或者它是否能够找到检索数据的索引。从那时起,您可以进一步优化。

编辑

根据您的查询执行计划,第一个优化步骤检查您的表是否定义了主键,您可以在 post_status 和 tag_name 列上设置索引。

关于mysql - sql多对多查询索引优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8178057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com