sql - group_concat 查询性能

标签 sql mysql performance

自从添加 group_concat 子句后,MySQL 查询的运行速度明显变慢。目前,此查询如下所示:

select ... group_concat(distinct category.name) .... from page where 
left outer join page_category on page.id = page_category.page_id  
left outer join category on page_category.category_id = category.id
....
group by page.id

如查询中所述,除其他外,我的应用程序有 3 个表:page、category 和 page_category。一个页面可以不与任何类别相关联,也可以与多个类别相关联。当前 page、page_category 和 category 分别有 9,460、20,241 和 10 个条目。

谁能帮我改进这个查询以提高其性能?

最佳答案

我在 page_category.page_id 字段中缺少索引。那解决问题。

关于sql - group_concat 查询性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39196/

相关文章:

mysql - 查找连续缺席的天数

MySQL InnoDB : Best practice bulk insert

javascript - React 组件由于多种样式而重新渲染

php - 如何从一个表中选择一个字段,该字段是另一表的一个字段中包含的字符串的一部分?

python - onupdate 不覆盖当前日期时间值

sql查询以获取分布在按月分组的两个表中的两列的总和差

mysql - 条件 str_to_date() 如果格式是一种类型,否则不执行任何操作

mysql - 将此 SQL 查询转换为 mongodb 查询 -

java - @Autowired、@Resource 和使用属性注入(inject)的 Spring 性能

mysql - 如何提高mysql查询时缓存的使用