Oracle In和exists not in和not exists的比较分析
来源:asp之家 时间:2009-08-27 10:07:00
把这两个很普遍性的网友比较关心的问题总结回答一下。
in和exist的区别
从sql编程角度来说,in直观,exists不直观多一个select, in可以用于各种子查询,而exists好像只用于关联子查询
从性能上来看
exists是用loop的方式,循环的次数影响大,外表要记录数少,内表就无所谓了
in用的是hash join,所以内表如果小,整个查询的范围都会很小,如果内表很大,外表如果也很大就很慢了,这时候exists才真正的会快过in的方式。
not in和not exists的区别
not in内外表都进行全表扫描,没有用到索引;
not extsts 的子查询能用到表上的索引。
所以推荐用not exists代替not in
不过如果是exists和in就要具体看情况了
有时间用具体的实例和执行计划来说明。
标签:Oracle,数据库
0
投稿
猜你喜欢
asp sqlserver 执行存储过程返回记录集报对象关闭时不允许操作
2011-03-11 10:57:00
asp更改Windows2000管理者密码?
2010-06-26 11:03:00
你是一个职业的页面重构工作者吗?
2008-09-29 12:07:00
自定义数据库自动编号初始值和步进值
2009-05-19 10:00:00
合理利用页面标签元素有利用搜索引擎收录
2008-11-03 11:49:00
ASP在线转flv+缩略图
2007-08-27 16:18:00
Mootools 1.2教程(15)——滚动条(Slider)
2008-12-09 17:35:00
MySQL中随机生成固定长度字符串的方法
2010-12-08 16:25:00
hover悬停放大的翻页效果
2008-05-19 12:20:00
解析SQL Server中数据库快照的工作原理
2009-02-19 17:04:00
div遮罩层实现实例代码
2009-01-11 18:38:00
小谈访客浏览器分辨率
2007-10-18 13:12:00
如何获取机器的网络配置属性?
2009-11-23 20:44:00
Win7的IIS7中ASP获得的系统日期格式为斜杠的解决办法
2012-12-04 19:57:33
语言化H1标签
2008-01-11 13:54:00
Logo 设计准则[译]
2009-07-22 21:05:00
关于Dreamweaver乱码问题的解决方案
2010-09-02 12:36:00
Select 控件Combox加强版(IE Only)
2008-07-23 13:26:00
利用ASP实现事务处理的方法
2010-05-11 16:53:00
13个超酷的js显示时间效果
2007-08-30 09:52:00