在上一篇我们提到了两种in写法明显优于exists的情况, 我已经用真实的生产案例, 证明了exists写法比in写法效率高这种说法, 确实不太靠谱.
这篇文章继续列举剩余3种情况.
最后再补充一个无法使用hash join案例.
各位看官如果有兴趣可以试试, 比较简单, 但很实用, 简化如下:
create table test_xxx
as
select a.owner,b.object_name
from t1 a
left join t2 b
on a.object_id=b.object_id
and a.owner in ('SYS','PUBLIC','SYSTEM')
;
场景3: