这个主要看查询优化器的选择,跟你的表数据相关。
比如说,表 1 有数百万个结果且没有重复项,而表 2 有数百万个结果,但去除重复数据后减少到只有几条记录,那么query1比query2好。
如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。
我知道Union 比起Union all多了剔除重复值这一步,那如果我事先用distinct的话,可以优化查询吗?
--query1
SELECT DISTINCT * FROM TABLE1
UNION
SELECT DISTINCT * FROM TABLE2
--query2
SELECT * FROM TABLE1
UNION
SELECT * FROM TABLE2