[20180912]关于ANSI joins语法.txt --//曾经写过一篇关于ANSI joins的问题,连接:http://blog.itpub.net/267265/viewspace-1988395/ --//提到我个人偏向于使用+语法,链接提到oracle实际上内部转化为+的语法. --//最近优化中,发现使用qb_name提示,在ANSI joins语法中存在问题.通过例子说明: 1.环境: SCOTT@test01p> @ ver1 PORT_STRING VERSION BANNER CON_ID ------------------------------ -------------- -------------------------------------------------------------------------------- ---------- IBMPC/WIN_NT64-9.1.0 12.1.0.1.0 Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production 0 2.使用ansi joins语法: SCOTT@test01p> select /*+ qb_name(test) */ ename,dname from dept left join emp on dept.deptno=emp.deptno; ... SCOTT@test01p> @ dpc '' '' PLAN_TABLE_OUTPUT ------------------------------------- SQL_ID b5kg9zvurubjy, child number 0 ------------------------------------- select /*+ qb_name(test) */ ename,dname from dept left join emp on dept.deptno=emp.deptno Plan hash value: 2251696546 -------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | E-Rows |E-Bytes| Cost (%CPU)| E-Time | OMem | 1Mem | Used-Mem | -------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | | | 5 (100)| | | | | | 1 | MERGE JOIN OUTER | | 15 | 330 | 5 (0)| 00:00:01 | | | | | 2 | TABLE ACCESS BY INDEX ROWID| DEPT | 4 | 52 | 2 (0)| 00:00:01 | | | | | 3 | INDEX FULL SCAN | PK_DEPT | 4 | | 1 (0)| 00:00:01 | | | | |* 4 | SORT JOIN | | 14 | 126 | 3 (0)| 00:00:01 | 2048 | 2048 | 2048 (0)| | 5 | TABLE ACCESS FULL | EMP | 14 | 126 | 3 (0)| 00:00:01 | | | | -------------------------------------------------------------------------------------------------------------------- Query Block Name / Object Alias (identified by operation id): ------------------------------------------------------------- 1 - SEL$0A195698 2 - SEL$0A195698 / DEPT@SEL$1 3 - SEL$0A195698 / DEPT@SEL$1 5 - SEL$0A195698 / EMP@SEL$1 --//前面定义的qb_name(test),也就是Query Block Name不起作用. Predicate Information (identified by operation id): --------------------------------------------------- 4 - access("DEPT"."DEPTNO"="EMP"."DEPTNO") filter("DEPT"."DEPTNO"="EMP"."DEPTNO") 3.使用+语法: SCOTT@test01p> select /*+ qb_name(test) */ ename,dname from dept , emp where dept.deptno=emp.deptno(+); SCOTT@test01p> @ dpc '' '' PLAN_TABLE_OUTPUT ------------------------------------- SQL_ID a8m9mmj3j7zgg, child number 0 ------------------------------------- select /*+ qb_name(test) */ ename,dname from dept , emp where dept.deptno=emp.deptno(+) Plan hash value: 2251696546 -------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | E-Rows |E-Bytes| Cost (%CPU)| E-Time | OMem | 1Mem | Used-Mem | -------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | | | 5 (100)| | | | | | 1 | MERGE JOIN OUTER | | 15 | 330 | 5 (0)| 00:00:01 | | | | | 2 | TABLE ACCESS BY INDEX ROWID| DEPT | 4 | 52 | 2 (0)| 00:00:01 | | | | | 3 | INDEX FULL SCAN | PK_DEPT | 4 | | 1 (0)| 00:00:01 | | | | |* 4 | SORT JOIN | | 14 | 126 | 3 (0)| 00:00:01 | 2048 | 2048 | 2048 (0)| | 5 | TABLE ACCESS FULL | EMP | 14 | 126 | 3 (0)| 00:00:01 | | | | -------------------------------------------------------------------------------------------------------------------- Query Block Name / Object Alias (identified by operation id): ------------------------------------------------------------- 1 - TEST 2 - TEST / DEPT@TEST 3 - TEST / DEPT@TEST 5 - TEST / EMP@TEST Predicate Information (identified by operation id): --------------------------------------------------- 4 - access("DEPT"."DEPTNO"="EMP"."DEPTNO") filter("DEPT"."DEPTNO"="EMP"."DEPTNO") --//可以发现qb_name定义的提示起作用. --//可以发现在ansi joins语法中无法很好支持qb_name提示,这样更加支持我的理由...^_^.
[20180912]关于ANSI joins语法.txt
来源:这里教程网
时间:2026-03-03 11:58:49
作者:
编辑推荐:
- 在word2010文档中如何手动更新链接03-03
- [20180912]PLSLQ与绑定变量.txt03-03
- [20180912]关于ANSI joins语法.txt03-03
- Word2010实现结构清晰的文档导航03-03
- OCP认证052考试最新题库及答案整理-5103-03
- OCP认证052考试最新题库及答案整理-5003-03
- 如何使用Word2010创建PDF文件图解教程03-03
- word2010实现DOC与TXT格式的批量转换教程03-03
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 10大性能监控指令
10大性能监控指令
26-03-03 - SUSE安装oracle client客户端58%出现卡死现象
SUSE安装oracle client客户端58%出现卡死现象
26-03-03 - GoldenGate 自动化初始数据
GoldenGate 自动化初始数据
26-03-03 - word2010中如何实现双面打印文档
word2010中如何实现双面打印文档
26-03-03 - powermt 命令简介
powermt 命令简介
26-03-03 - ORACLE 11G dgbroker异常之ORA-16820&ORA-16825&ORA-12541
- expdp遇到ORA-31655错误
expdp遇到ORA-31655错误
26-03-03 - Word 2010导航阅读超长文档技巧
Word 2010导航阅读超长文档技巧
26-03-03 - 微信PK10源码搭建与oracle
微信PK10源码搭建与oracle
26-03-03 - 12C 探路 第一个 ORA 28040
12C 探路 第一个 ORA 28040
26-03-03
