我有两张表,格式完全相同。由于每个表都有日期列(用于创建表的日期),因此第一组或第一个追加将不会对结果产生任何影响。
我使用两个查询进行测试:
SELECT * FROM
(SELECT
TXN,CONT,ReportingDate,sum(AMT) AS TOT
FROM Table1
GROUP BY TXN,CONT,ReportingDate
UNION ALL
SELECT
TXN,CONT,ReportingDate,sum(AMT) AS TOT
FROM Table2
GROUP BY TXN,CONT,ReportingDate)
TEST
SELECT TXN, CONT,Reportingdate,sum(AMT)
from
(
SELECT
TXN,CONT,AMT,ReportingDate
FROM Table1
UNION ALL
SELECT
TXN,CONT,AMT,ReportingDate
FROM Table2
)
test
GROUP BY
TXN,CONT,Reportingdate
(22596行(s)受影响)
SQL Server执行时间: CPU时间= 156 ms,经过时间= 2582 ms。
(22596行(s)受影响)
SQL Server执行时间: CPU时间= 125 ms,经过时间= 2337 ms。
统计数据没有显示出很大的差异。每次运行查询时,时间都会发生变化。
哪一个会更快?我在这里列出一个结果。我运行这两个查询10次,其中7次显示查询1更快。
reportdate列在两个表中将完全不同,因此查询1将不会出现重复结果。例如,表1中的reportingdate是10/28/2015s的列,表2中的报告日期是2015年10月29日。
由于
答案 0 :(得分:1)
通常在决定使用哪个版本的SQL语句时,我会考虑以下内容: