【发布时间】:2020-03-01 07:50:55
【问题描述】:
所以我一直致力于优化具有 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;
【问题讨论】: