oracle 中 in函数
2016-04-27 10:51
726 查看
select * from emp in empno in(1,2,3......);
in 函数的使用限制:in()中的数据有最多1000条的限制
可用exists 替换,如果主表的话用exist会快一些,如果相反的话,还是in快一些
有两个简单例子,以说明 "exists"和"in"的效率问题
1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ;
T1数据量小而T2数据量非常大时,T1<<T2 时,1) 的查询效率高。
2) select * from T1 where T1.a in (select T2.a from T2) ;
T1数据量非常大而T2数据量小时,T1>>T2 时,2) 的查询效率高。
因为exists就是为了in都不能跟大数据而生的。
in 函数的使用限制:in()中的数据有最多1000条的限制
可用exists 替换,如果主表的话用exist会快一些,如果相反的话,还是in快一些
有两个简单例子,以说明 "exists"和"in"的效率问题
1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ;
T1数据量小而T2数据量非常大时,T1<<T2 时,1) 的查询效率高。
2) select * from T1 where T1.a in (select T2.a from T2) ;
T1数据量非常大而T2数据量小时,T1>>T2 时,2) 的查询效率高。
因为exists就是为了in都不能跟大数据而生的。
相关文章推荐
- Orcle设置编码
- 解决oracle使用rownum排序分页排序字段不唯一导致分页错误
- Oracle创建用户、表空间并设置权限
- Oracle 自定义函数
- oracle表的备份
- oracle的tpc-c测试及方法
- oracle case when
- oracle 查询十分钟之前的数据
- Oracle 异常
- oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)
- Oracle 包(Package)
- oracle 11g r2 企业管理器
- Oracle监听无法启动处理随记
- Oracle函数大全之日期函数
- [oracle 11g 新特性] virtual column虚拟列
- DB之Oracle数据库维护命令
- MySql,Mssql,Oracle三种数据库性能优缺点及异同
- oracle表空间的查看创建删除
- Genymotion打开失败或者Oracle VM VirtualBox解决方案
- Oracle 查看表存储内存