select a from table
where a not in (1,2,3) 换成 not exist 要怎么写,另外not in执行效率真的很低,有什么可替代的?
SQL里的EXISTS与in、not exists与not in(转载)_GG
2009-06-28 16:18:05| 分类: Oracle|举报|字号 订阅
SQL里的EXISTS与in、not exists与not in(转载)
2007年12月12日 星期三 21:22
系统要求进行SQL优化,对效率比较低的SQL进行优化,......
答案就在这里:SQL里的EXISTS与in、not exists与not in 效率问题
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。
select a from table
where not exists(select 1
from table
where a in(1,2,3))
这个效率低吗,你能说说如何个低法吗。
换成not exists,同一张表检索两次,效率不如not in。
select a from table
where not exists(select *
from table
where a in(1,2,3) )
不过这样效率也不高 还不如你自己的 要根据具体情况具体讨论
如果in()中的数据太多的话,考虑用表连接吧,如果不是太多的话还是用in吧