gpt4 book ai didi

mysql - MySQL 中的 group_concat 性能问题

转载 作者:可可西里 更新时间:2023-11-01 07:12:43 25 4
gpt4 key购买 nike

我在查询中添加了一个 group_concat 并终止了性能。解释计划在我添加之前和之后是相同的,所以我很困惑如何优化它。

这是查询的简化版本:

SELECT @curRow := @curRow + 1 AS row_number,
docID,
docTypeID,
CASE WHEN COUNT(1) > 1
THEN group_concat( makeID )
-- THEN 'multiple makes found'
ELSE MIN(makeID)
END AS makeID,
MIN(desc) AS desc
FROM simplified_mysql_table,
(SELECT @curRow := 0) r
GROUP BY docID, docTypeID,
CASE WHEN docTypeID = 1
THEN 0
ELSE row_number
END;

注意 SELECT 中的 CASE 语句。 group_concat 会降低性能。如果我评论该行并只输出“multiple makes found”,它会执行得非常快。知道是什么原因造成的吗?

最佳答案

在这个查询的原始非简化版本中,我们有一个 DISTINCT,这是完全没有必要的,并且会导致 group_concat 的性能问题。我不确定为什么会导致这样的问题,但删除它可以解决性能问题。

关于mysql - MySQL 中的 group_concat 性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13631499/

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