oracle中的not in执行非常慢

Oracle > 开发 [问题点数:30分,结帖人happy1123]
等级
本版专家分:0
结帖率 99.04%
等级
本版专家分:3429
等级
本版专家分:13906
勋章
Blank
蓝花 2005年11月 Oracle大版内专家分月排行榜第三
等级
本版专家分:141
等级
本版专家分:46
等级
本版专家分:28605
勋章
Blank
蓝花 2005年8月 Oracle大版内专家分月排行榜第三
2005年7月 Oracle大版内专家分月排行榜第三
happy1123

等级:

IN和EXISTS、not innot exists的效率详解

从效率来看:1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ;...2) select * from T1 where T1.a in (select T2.a from T2) ;T1数据量非常大而T2数据量小时,T1>>T2 时,2) 的查询效

Oracle查询速度的原因总结

------------------查询速度的原因很多,常见如下几种:1,没有索引或者没有用到索引(这是查询最常见的问题,是程序设计的缺陷)2,I/O吞吐量小,形成了瓶颈效应.3,没有创建计算列导致查询不优化.4,内存不足5,网络速度...

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 ...

oracle中not in的优化

ORACLE中NOT IN 的替代 http://myjcwy.iteye.com/blog/553563 典型的查询方式为:  SELECT TITLE FROM BOOKSHELF WHERE TITLE NOT IN   (SELECT TITLE FROM BOOKSHELF_CHECKOUT)  ORDER BY TITLE; ...

Oracle 关于 not in 的坑 ,not in 查询不出数据

select * ... where a.id not in (select b.id from B b ) 如上查询 如果 当 B表 的 id有 null 时 此时数据查询不到 应该为 select * from A a where a.id not in (select b.id ...

ORACLE中NOT IN 的替代

典型的查询方式为: SELECT TITLE FROM BOOKSHELF WHERE TITLE NOT IN ...如果BOOKSHELF_CHECKOUT很大的话,速度可能会很,因为ORACLE会在BOOKSHELF_CHECKOUT上执行一个时间密集型的全表扫描

oracle子查询中not in后面不能为null值的理解

首先说说oracle中的null值吧。 null在oracle中代表未知,表示可能有,也可能没有。任何与null值的普通运算都为null,但可以用一些函数来处理null值,oracle排序默认null最大。 接着进入正文 这里in后面...

oracle中的exists和not exists和in用法详解

有两个简单例子,以说明 “exists”和“in”的效率问题  1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ;  T1数据量小而T2数据量非常大时,T1  2) select * from T1 where T1.a ...

oracle中关于in和exists,not innot exists

oracle中关于in和exists,not innot existsin和exists in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。not exists:做NL,对子查询先查,有个虚表,有确定值...

Oracle not in查不到应有的结果(NULL、IN、EXISTS详解)

首先我要感谢aa和Liu Xing帮我发现了我日志的错误。之前比较粗心,把3条SQL语句写成一样的了,对于给读者造成的麻烦,我深表抱歉。...Select * from table1 A where A.col1 not in ( select 

Oracle select in/exists/not in/not exits

in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。 一直以来认为exists比in效率高的说法是不准确的。 如果查询的两个表大小相当,那么用in和exists差别不大。 in 是把外表...

oracle中exists ,not exists用法

sql: SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS(SELECT OrderID FROM Orders o WHERE o.CustomerID=c.CustomerID) analyze: 这里面的EXISTS是如何运作呢?子查询返回的是OrderID字段,...

oracle exists&not exists用法及与in&not in比较(10g)-开发系列(四)

oracle 10g exists&not exists用法详解-实际开发案例

Oracle入门到实战

Oracle学习:Oracle基础语句、Oracle表查询关键字、Oracle常用函数、Oracle常用结构

Oracle中In函数的使用

SQL: "IN" FunctionThe IN function helps reduce the need to use multiple OR conditions.译:IN函数有助于减少OR条件的复合使用。The syntax for the IN function is:译:IN函数的语法:...

oracle中的exists 和not exists 用法详解

not exists和exists相反,子查询语句结果为空,则表示where条件成立,执行sql语句。负责不执行。 之前在学Oracle数据库的时候,接触过exists,做过几个简单的例子,,如 1.如果部门名称含有字母A,则查询所有员工...

oracle 两种方法不同的效率!务必少使用 not in

方法1select * from userinfo,achieveamount where userinfo.unionid = achieveamount.unionid(+) and achieveamount.unionid IS NULL 方法2select * from userinfo where userinfo.unionid not in

Oracle Null 与 in, exists 的关系说明(not in 查不到结果)

同事说查询遇到一个奇怪的事,2个表进行not in 操作没有返回结果,正常情况下应该是有返回的。 一.问题重现一般来说,问题能重现就是好消息,最怕不能重现。 SQL> connscott/tiger;Connected.SQL> descemp Name

Oracle中"listener does not currently know of SID given in connect descriptor

一次连接数据库怎么也连接不上,查了多方面资料,终于找到答案,总结 首先应该保证数据库的服务启动 在myeclipse的数据库视图中点 右键->new 弹出database driver的窗口, ... 注意localhost:1521:oracle中的or

Oracle中不通过存储过程一次执行多条SQL语句Oracle PL/SQL

PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具了,近几年更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL...

oracle中的exists 和not exists 用法

not exists (sql 不返回结果集为真) 如下: 表A ID NAME 1 A1 2 A2 3 A3 表B ID AID NAME 1 1 B1 2 2 B2 3 2 B3 表A和表B是1对多的关系 A.ID => B.AID SELECT ID,NAME FROM A WHERE

"sudo su -", oracle is not in the sudoers file. This incident will be reported.

安装数据库,中途用到"sudo su -",结果报错: [oracle@xxx Software]$ sudo su - ...oracle is not in the sudoers file. This incident will be reported. [oracle@xxx Software]$   处理方法就是切换到

关于Oracle中in和exists的区别

1、关于在 Oracle8i 时代中in和exists的区别   这里有条SQL语句:select * from A where id in(select id from B)  以上查询使用了in语句,in()只执行一次,它查出B表的所有id字段并缓存起来.之后,检查A表的...

Oracle 关键字 ‘exists‘ 与 ‘in’ 详解

IN(list) 和 NOT IN(list) 等于列表其一和不等于列表其一,IN(list) 还常用于判断一个子查询的结果集; EXISTS(): 用在where作为过滤条件,其后跟一个子查询,只要子查询可以查出至少一条数据,那么EXISTS就返回...

ORACLE触发器详解

本文对原文做了格式和目录调整方便阅读。文章总结的很全面,感谢原作的辛勤付出!!! 原文链接:...comments --------------------------------------------------------------------------------...

1.oracle中的exists 和not exists 用法:

1.oracle中的exists 和not exists 用法: exists (sql 返回结果集为真) not exists (sql 不返回结果集为真) 如下: 表A ID NAME 1 A1 2 A2 3 A3 表B ID AID NAME 1 1 B1 2 2 B2 3 2 B3 表A和表B是1对多的关系 A....

ORACLE中查看执行计划

转载地址:http://hi.baidu.com/xyooo/blog/item/eba0dc1f40072967f624e49e.html 有三种方法: 1.Explain planexplain plan for select * from aa;查看结果:select * from table(dbms_xplan.display());...

跪求大神指导:一下sql为什么加了一个exists后查询变得很oracle~

注: 其中 A 表的数据大概 60 多万晚条,下面 OB 表数据才 6 千多条,换成用 in 也是一样的效率啊 exists还造成了全表扫描了,包括buffer sort 了 , 请大神知道如何改写此sql,谢谢啊~~~ ![CSDN移动问答][1...

not in不等于not exists

请注意not in 逻辑上不完全等同于not exists,如果你误用了not in,小心你的程序存在致命的BUG: 请看下面的例子:create table t1 (c1 number,c2 number);create table t2 (c1 number,c2 number);insert into t1 ...

9套大气漂亮的html+css网站模板、网页设计源码

网页大气,美观,设计合理 1.html班级网页设计模板 2.html动漫网页设计模板 3.html个人网页设计模板 4.html化妆品网页设计模板 5.html咖啡网页设计模板 6.html旅游网页设计模板 7.html商城网页设计模板 8.html书店网页设计模板 9.html公司网页设计模板

相关热词 c# panel边框 c#调用dll报错 c# 编写dll c# dll修复工具 c# timer 多线程 c# 发送邮件带图片 c# 集合怎么赋值 画笔c# c# int数组传给c c#sql语句拼接