【发布时间】:2013-11-01 17:12:48
【问题描述】:
如果我有两个查询从同一个表中查询数据,但每个查询按不同的列分组。那么我应该使用两个单独的查询还是使用union all 函数?我关心的是性能。因为我有些人说union all如果没有必要应该避免,否则这是一个很大的开销。
例如,我应该将UNION ALL 用于以下查询吗?请指教。谢谢。
INSERT INTO TABLE newtable
SELECT SUBSTRING(A1, 1, 7) AS col1, COUNT(DISTINCT B) AS col2, C AS col3
FROM oldtable
GROUP BY SUBSTRING(A1, 1, 7), C;
INSERT INTO TABLE newtable
SELECT A2 AS col1, COUNT(DISTINCT B) AS col2, C AS col3
FROM oldtable
GROUP BY A2, C;
【问题讨论】: