是否可以创建索引,以便在group by分组来自不同表的两列或更多列时不创建临时表?
示例:
SELECT T1.c1, T2.c2, COUNT(*)
FROM T1
JOIN T2 USING (pk)
WHERE
T1.c3 = 100
GROUP BY T1.c1, T2.c2
我可以使用的索引组合是什么,以便不创建临时表?
答案 0 :(得分:1)
不,请在第一个列表的第一点阅读explanation。此查询中唯一可用的索引可以在T1.c3
列上。您可以通过创建一个包含两个表并将其明确分组的视图来避免临时表。