SQL优化 ----- 用 UNION-ALL 替换UNION ( 如果有可能的话)

当SQL 语句需要UNION 两个查询结果集合时,这两个结果集合会以UNION-ALL 的方式被

合并, 然后在输出最终结果前进行排序.

如果用UNION ALL 替代UNION, 这样排序就不是必要了. 效率就会因此得到提高.

举例:

低效:

SELECT ACCT_NUM, BALANCE_AMT
FROM DEBIT_TRANSACTIONS
WHERE TRAN_DATE = ’31-DEC-95’
UNION
SELECT ACCT_NUM, BALANCE_AMT
FROM DEBIT_TRANSACTIONS
WHERE TRAN_DATE = ’31-DEC-95’
 

高效:

SELECT ACCT_NUM, BALANCE_AMT
FROM DEBIT_TRANSACTIONS
WHERE TRAN_DATE = ’31-DEC-95’
UNION ALL
SELECT ACCT_NUM, BALANCE_AMT
FROM DEBIT_TRANSACTIONS
WHERE TRAN_DATE = ’31-DEC-95’
 

你可能感兴趣的:(sql)