gpt4 book ai didi

mysql - group by 子查询后的内连接优化

转载 作者:行者123 更新时间:2023-11-29 15:31:19 26 4
gpt4 key购买 nike

所以我一直致力于优化具有 group by 语句的子查询的内部联接。下面的查询大约需要 1.8 到 2 秒才能获取。我想优化它,我认为子查询是关键。

我不确定内连接中带有 group by 的子查询是否可以使用索引来连接另一个表。我相信子查询中的列(在本例中为 A2、C2)不能在内连接中拥有自己的索引。这是正确的吗?

所以,我的问题是如何优化这个查询语句,是否可以在内连接中对 A2、C2 设置索引。

SELECT A, C, X.S
FROM tb_g X
INNER JOIN (
SELECT A AS A2, MAX(C) AS C2
FROM tb_g
GROUP BY A
) Y
ON X.A = Y.A2 AND X.C = Y.C2;

enter image description here

enter image description here

最佳答案

A, C 上的复合索引应该允许尽可能优化此查询:

ALTER TABLE tb_g ADD INDEX (A, C);

该索引允许子查询完全用索引来计算,然后可以在原始表中以最优的方式与中间表进行连接。

关于mysql - group by 子查询后的内连接优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58702872/

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