ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [转载]in , exists , not in , not exists 尽量使用exists 而不是in

[转载]in , exists , not in , not exists 尽量使用exists 而不是in

原创 Linux操作系统 作者:celery7 时间:2010-03-15 23:37:54 0 删除 编辑

提示:我在做优化sql时,经常碰到使用in的语句,这时我们一定要用exists把它给换掉,因为Oracle在处理In时是按Or的方式做的,即使使用了索引也会很慢。

比如:

SELECT col1,col2,col3 FROM table1 a
WHERE a.col1 not in (SELECT col1 FROM table2)

可以换成:

SELECT col1,col2,col3 FROM table1 a
WHERE not exists
(SELECT 'x' FROM table2 b
WHERE a.col1=b.col1)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/194278/viewspace-629540/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2008-12-16

  • 博文量
    3
  • 访问量
    5517