oracle 中not in 效率不高的问题


oracle 中not in 效率不高的问题


在oracle 中如果数据量大了。。使用not in会很慢因为会全表扫描

如下所示

select a1.mobile from atest a1 where a1.mobile NOT in
(select  trim(a2.mobile2)  from atest2 a2) )

如果  atest 中的数据大的时候 会变得非常慢

换成这样子 用not exists 会快一些

select a1.mobile from atest a1 where  NOT EXISTS 
(select  trim(a2.mobile2)  from atest2 a2 where  trim(a1.mobile)= trim(a2.mobile2) )


你可能感兴趣的:(oracle)