Oraclenotexists的等价写法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oraclenotexists的等价写法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4540字,纯文字阅读大概需要7分钟。
内容图文
not exists可以改为left join + is null,可以看到改写前后执行计划一样,消耗资源一样,说明完全等价。
not exists可以改为left join + is null,可以看到改写前后执行计划一样,消耗资源一样,说明完全等价。
SQL> drop table test purge;
SQL> drop table test1 purge;
SQL> create table test as select * from dba_objects;
SQL> create table test1 as select * from dba_objects;
SQL> delete from test1 where rownum < 10;
SQL> commit;
SQL> select count(1) from test t where not exists(
select 1 from test1 t1 where t1.object_id=t.object_id
);
COUNT(1)
----------
11
SQL> select count(1) from test t,test1 t1 where t.object_id=t1.object_id(+)
and t1.object_id is null;
COUNT(1)
----------
11
SQL> select * from test t where not exists(
select 1 from test1 t1 where t1.object_id=t.object_id
)
minus
select t.* from test t,test1 t1 where t.object_id=t1.object_id(+)
and t1.object_id is null;
未选定行
SQL> select t.* from test t,test1 t1 where t.object_id=t1.object_id(+)
and t1.object_id is null
minus
select * from test t where not exists(
select 1 from test1 t1 where t1.object_id=t.object_id
);
未选定行
SQL> set autotrace traceonly
SQL> select t.* from test t where not exists(
select 1 from test1 t1 where t1.object_id=t.object_id
);
已选择11行。
执行计划
----------------------------------------------------------
Plan hash value: 2726816538
--------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
--------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 72877 | 15M| | 1109 (1)| 00:00:16 |
|* 1 | HASH JOIN RIGHT ANTI| | 72877 | 15M| 1520K| 1109 (1)| 00:00:16 |
| 2 | TABLE ACCESS FULL | TEST1 | 61874 | 785K| | 196 (1)| 00:00:03 |
| 3 | TABLE ACCESS FULL | TEST | 72877 | 14M| | 197 (2)| 00:00:03 |
--------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("T1"."OBJECT_ID"="T"."OBJECT_ID")
Note
-----
- dynamic sampling used for this statement (level=2)
统计信息
----------------------------------------------------------
7 recursive calls
0 db block gets
1142 consistent gets
0 physical reads
0 redo size
1577 bytes sent via SQL*Net to client
337 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
11 rows processed
SQL> select t.* from test t,test1 t1 where t.object_id=t1.object_id(+)
2 and t1.object_id is null;
已选择11行。
执行计划
----------------------------------------------------------
Plan hash value: 2726816538
--------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
--------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 72877 | 15M| | 1109 (1)| 00:00:16 |
|* 1 | HASH JOIN RIGHT ANTI| | 72877 | 15M| 1520K| 1109 (1)| 00:00:16 |
| 2 | TABLE ACCESS FULL | TEST1 | 61874 | 785K| | 196 (1)| 00:00:03 |
| 3 | TABLE ACCESS FULL | TEST | 72877 | 14M| | 197 (2)| 00:00:03 |
--------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("T"."OBJECT_ID"="T1"."OBJECT_ID")
Note
-----
- dynamic sampling used for this statement (level=2)
统计信息
----------------------------------------------------------
7 recursive calls
0 db block gets
1142 consistent gets
0 physical reads
0 redo size
1577 bytes sent via SQL*Net to client
337 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
11 rows processed
Oracle 单实例 从32位 迁移到 64位 方法
在CentOS 6.4下安装Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虚拟机中安装步骤
Debian 下 安装 Oracle 11g XE R2
Oracle导入导出expdp IMPDP详解
Oracle 10g expdp导出报错ORA-4031的解决方法
本文永久更新链接地址:
,内容总结
以上是互联网集市为您收集整理的Oraclenotexists的等价写法全部内容,希望文章能够帮你解决Oraclenotexists的等价写法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。