【发布时间】:2015-03-29 22:08:42
【问题描述】:
来自这里sql group_concat and subquery
我设法通过“子查询”来“解决”问题:
SELECT
GROUP_CONCAT(name,',',results separator '#')
as finalresult
FROM
(
select t.name as name, group_concat(distinct r.idResult separator '-') as results
from threshold t
left join threshold_results r on r.idThreshold = t.idThreshold
group by t.idThreshold, t.name
) final
但是当有很多记录时它太慢了,没有子查询,初始解决方案执行得很好。有什么想法吗?
谢谢!
【问题讨论】:
-
只运行内部查询并在客户端代码中进行最终连接不是更好吗?外部查询不运行任何特定于数据库的处理,它只是连接一些字符串,这可以在客户端代码中以更好的结果(关于速度)来实现。
-
我认为在数据库中而不是在客户端代码中执行此操作更快。
-
如果你自己运行子查询,它的表现如何?您看到了什么样的性能差异(以秒为单位)?
-
子查询时长小于1秒,最终查询约14秒
标签: mysql join group-concat