oracle查询in中有重复数据是否对性能有较大影响

2025-03-28 09:25:48
推荐回答(1个)
回答1:

UNION ALL替换UNION性能更高.后者需要检查重复
数据量大的情况下group by性能更高,distinct需要读取所有列数据去重复,分组则不用.

另外:
数据量大,使用exists,而不是in.后者会对子查询中的表进行全表扫描,not in会执行一个内部的排序和合并,而前者只是检查存在性返回boolean.
避免使用'*'符号,因为会去获取所有列信息然后依次转化为所有的列名.