leading--Oracle hint
SQL> explain plan for select rowid rid from
2 scott.emp e where e.empno >100 and e.empno < 1000 and e.deptno in (select deptno from scott.dept where dname like 'a%');
已解释。
SQL> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY(NULL, NULL, 'ADVANCED -PROJECTION'));
- PLAN_TABLE_OUTPUT
- ----------------------------------------------------------------------------------------------------------------------------------------
- Plan hash value: 1465018025
- -----------------------------------------------------------------------------------------
- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
- -----------------------------------------------------------------------------------------
- | 0 | SELECT STATEMENT | | 1 | 32 | 3 (0)| 00:00:01 |
- | 1 | NESTED LOOPS | | | | | |
- | 2 | NESTED LOOPS | | 1 | 32 | 3 (0)| 00:00:01 |
- | 3 | TABLE ACCESS BY INDEX ROWID| EMP | 1 | 19 | 2 (0)| 00:00:01 |
- |* 4 | INDEX RANGE SCAN | PK_EMP | 1 | | 1 (0)| 00:00:01 |
- |* 5 | INDEX UNIQUE SCAN | PK_DEPT | 1 | | 0 (0)| 00:00:01 |
- |* 6 | TABLE ACCESS BY INDEX ROWID | DEPT | 1 | 13 | 1 (0)| 00:00:01 |
- -----------------------------------------------------------------------------------------
- Query Block Name / Object Alias (identified by operation id):
- -------------------------------------------------------------
- 1 - SEL$5DA710D3
- 3 - SEL$5DA710D3 / E@SEL$1
- 4 - SEL$5DA710D3 / E@SEL$1
- 5 - SEL$5DA710D3 / DEPT@SEL$2
- 6 - SEL$5DA710D3 / DEPT@SEL$2
- Outline Data
- -------------
- /*+
- BEGIN_OUTLINE_DATA
- NLJ_BATCHING(@"SEL$5DA710D3" "DEPT"@"SEL$2")
- USE_NL(@"SEL$5DA710D3" "DEPT"@"SEL$2")
- LEADING(@"SEL$5DA710D3" "E"@"SEL$1" "DEPT"@"SEL$2")
- INDEX(@"SEL$5DA710D3" "DEPT"@"SEL$2" ("DEPT"."DEPTNO"))
- INDEX_RS_ASC(@"SEL$5DA710D3" "E"@"SEL$1" ("EMP"."EMPNO"))
- OUTLINE(@"SEL$2")
- OUTLINE(@"SEL$1")
- UNNEST(@"SEL$2")
- OUTLINE_LEAF(@"SEL$5DA710D3")
- ALL_ROWS
- DB_VERSION('11.2.0.1')
- OPTIMIZER_FEATURES_ENABLE('11.2.0.1')
- IGNORE_OPTIM_EMBEDDED_HINTS
- END_OUTLINE_DATA
- */
- Predicate Information (identified by operation id):
- ---------------------------------------------------
- 4 - access("E"."EMPNO">100 AND "E"."EMPNO"<)
- 5 - access("E"."DEPTNO"="DEPTNO")
- 6 - filter("DNAME" LIKE 'a%')
已选择50行。
SQL> explain plan for select /*+leading(DEPT@SEL$2)*/rowid rid from
2 scott.emp e where e.empno >100 and e.empno < 1000 and e.deptno in (select deptno from scott.dept where dname like 'a%');
已解释。
SQL> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY(NULL, NULL, 'ADVANCED -PROJECTION'));
- PLAN_TABLE_OUTPUT
- ----------------------------------------------------------------------------------------------------------------------------------------
- Plan hash value: 817787759
- -----------------------------------------------------------------------------------------
- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
- -----------------------------------------------------------------------------------------
- | 0 | SELECT STATEMENT | | 1 | 32 | 5 (20)| 00:00:01 |
- | 1 | MERGE JOIN | | 1 | 32 | 5 (20)| 00:00:01 |
- |* 2 | TABLE ACCESS BY INDEX ROWID | DEPT | 1 | 13 | 2 (0)| 00:00:01 |
- | 3 | INDEX FULL SCAN | PK_DEPT | 4 | | 1 (0)| 00:00:01 |
- |* 4 | SORT JOIN | | 1 | 19 | 3 (34)| 00:00:01 |
- | 5 | TABLE ACCESS BY INDEX ROWID| EMP | 1 | 19 | 2 (0)| 00:00:01 |
- |* 6 | INDEX RANGE SCAN | PK_EMP | 1 | | 1 (0)| 00:00:01 |
- -----------------------------------------------------------------------------------------
- Query Block Name / Object Alias (identified by operation id):
- -------------------------------------------------------------
- 1 - SEL$5DA710D3
- 2 - SEL$5DA710D3 / DEPT@SEL$2
- 3 - SEL$5DA710D3 / DEPT@SEL$2
- 5 - SEL$5DA710D3 / E@SEL$1
- 6 - SEL$5DA710D3 / E@SEL$1
- Outline Data
- -------------
- /*+
- BEGIN_OUTLINE_DATA
- USE_MERGE(@"SEL$5DA710D3" "E"@"SEL$1")
- LEADING(@"SEL$5DA710D3" "DEPT"@"SEL$2" "E"@"SEL$1")
- INDEX_RS_ASC(@"SEL$5DA710D3" "E"@"SEL$1" ("EMP"."EMPNO"))
- INDEX(@"SEL$5DA710D3" "DEPT"@"SEL$2" ("DEPT"."DEPTNO"))
- OUTLINE(@"SEL$2")
- OUTLINE(@"SEL$1")
- UNNEST(@"SEL$2")
- OUTLINE_LEAF(@"SEL$5DA710D3")
- ALL_ROWS
- DB_VERSION('11.2.0.1')
- OPTIMIZER_FEATURES_ENABLE('11.2.0.1')
- IGNORE_OPTIM_EMBEDDED_HINTS
- END_OUTLINE_DATA
- */
- Predicate Information (identified by operation id):
- ---------------------------------------------------
- 2 - filter("DNAME" LIKE 'a%')
- 4 - access("E"."DEPTNO"="DEPTNO")
- filter("E"."DEPTNO"="DEPTNO")
- 6 - access("E"."EMPNO">100 AND "E"."EMPNO"<)
- 已选择50行。
SQL> explain plan for select /*+leading(DEPT)*/rowid rid from
2 scott.emp e where e.empno >100 and e.empno < 1000 and e.deptno in (select deptno from scott.dept where dname like 'a%');
已解释。
SQL> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY(NULL, NULL, 'ADVANCED -PROJECTION'));
- PLAN_TABLE_OUTPUT
- ----------------------------------------------------------------------------------------------------------------------------------------
- Plan hash value: 817787759
- -----------------------------------------------------------------------------------------
- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
- -----------------------------------------------------------------------------------------
- | 0 | SELECT STATEMENT | | 1 | 32 | 5 (20)| 00:00:01 |
- | 1 | MERGE JOIN | | 1 | 32 | 5 (20)| 00:00:01 |
- |* 2 | TABLE ACCESS BY INDEX ROWID | DEPT | 1 | 13 | 2 (0)| 00:00:01 |
- | 3 | INDEX FULL SCAN | PK_DEPT | 4 | | 1 (0)| 00:00:01 |
- |* 4 | SORT JOIN | | 1 | 19 | 3 (34)| 00:00:01 |
- | 5 | TABLE ACCESS BY INDEX ROWID| EMP | 1 | 19 | 2 (0)| 00:00:01 |
- |* 6 | INDEX RANGE SCAN | PK_EMP | 1 | | 1 (0)| 00:00:01 |
- -----------------------------------------------------------------------------------------
- Query Block Name / Object Alias (identified by operation id):
- -------------------------------------------------------------
- 1 - SEL$5DA710D3
- 2 - SEL$5DA710D3 / DEPT@SEL$2
- 3 - SEL$5DA710D3 / DEPT@SEL$2
- 5 - SEL$5DA710D3 / E@SEL$1
- 6 - SEL$5DA710D3 / E@SEL$1
- Outline Data
- -------------
- /*+
- BEGIN_OUTLINE_DATA
- USE_MERGE(@"SEL$5DA710D3" "E"@"SEL$1")
- LEADING(@"SEL$5DA710D3" "DEPT"@"SEL$2" "E"@"SEL$1")
- INDEX_RS_ASC(@"SEL$5DA710D3" "E"@"SEL$1" ("EMP"."EMPNO"))
- INDEX(@"SEL$5DA710D3" "DEPT"@"SEL$2" ("DEPT"."DEPTNO"))
- OUTLINE(@"SEL$2")
- OUTLINE(@"SEL$1")
- UNNEST(@"SEL$2")
- OUTLINE_LEAF(@"SEL$5DA710D3")
- ALL_ROWS
- DB_VERSION('11.2.0.1')
- OPTIMIZER_FEATURES_ENABLE('11.2.0.1')
- IGNORE_OPTIM_EMBEDDED_HINTS
- END_OUTLINE_DATA
- */
- Predicate Information (identified by operation id):
- ---------------------------------------------------
- 2 - filter("DNAME" LIKE 'a%')
- 4 - access("E"."DEPTNO"="DEPTNO")
- filter("E"."DEPTNO"="DEPTNO")
- 6 - access("E"."EMPNO">100 AND "E"."EMPNO"<)
- 已选择50行。
leading--Oracle hint的更多相关文章
- SWAP_JOIN_INPUTS Oracle Hint(处理hash join强制大表(segment_size大)作为被驱动表)
SWAP_JOIN_INPUTS Oracle Hint(处理hash join强制大表(segment_size大)作为被驱动表) swap_join_inputs是针对哈希连接的hint,它的含义 ...
- SQL优化过程中常见Oracle HINT
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量, ...
- Oracle hint手动优化
例子 select/*+FULL(fortest)*/ * from fortest where id = 2000000 //使用0.70s时间 select* from fortest where ...
- 品味性能之道<十>:Oracle Hint
Hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式. 因为Hint的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是Ora ...
- Oracle Hint 详解
Hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式. 因为Hint的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是Ora ...
- oracle --hint总结
得到一条sql语句执行计划的常用方法:1.explain plan 命令 2.DBMS_XPLAN包3.sqlplus中的AUTOTRACE开关4.10046事件5.10053事件6.AWR报告或者 ...
- 【DBAplus】SQL优化:一篇文章说清楚Oracle Hint的正确使用姿势
原创 2016-09-12 韩锋 作者介绍 韩锋,宜信技术研发中心数据库架构师.精通多种关系型数据库,曾任职于当当网.TOM在线等公司,曾任多家公司首席DBA.数据库架构师等职,多年一线数据库架构. ...
- SQL优化:一篇文章说清楚Oracle Hint的正确使用姿势
一.提示(Hint)概述 1为什么引入Hint? Hint是Oracle数据库中很有特色的一个功能,是很多DBA优化中经常采用的一个手段.那为什么Oracle会考虑引入优化器呢?基于代价的优化器是很聪 ...
- 常见Oracle HINT的用法
1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_I ...
- Oracle Hint 用法
正确的语法是: select /*+ index(x idx_t) */ * from t x where x.object_id=123 /*+ */ 和注释很像,比注释多了一个“+”,这就是 ...
随机推荐
- ASP.NET 下使用特定身份完成windows服务的功能操作
今天部署项目的发现一个问题: 在本地Win7系统下利用Web页面完成Windows服务的功能操作(启动.停止.安装.卸载)都是正常的,而部署到Server2008系统下,再使用Web页面完成windo ...
- CentOS7 配置 Redis Sentinel主从集群配置
Redis Sentinel主从集群 环境.准备 slave配置 sentinel配置 测试 C#连接Redis Sentinel 1.环境.准备 单实例3台CentOS7服务器,IP地址.: 192 ...
- 搭建hadoop_之 创建3个虚拟机配置好网络
(创建3个虚拟机,1个作为主服务器,二个作为从节点) 一.安装虚拟机 Windwos:VMware Workstation Pro MAC:VMware Fusion 安装: ** 创建空 ...
- SpringAOP-切面优先级
项目中有两个切面,这两个切面都作用于同一个方法,哪个先执行哪个后执行呢,所以要定义一个切面的优先级 import java.util.Arrays; import org.aspectj.lang.J ...
- 解决nginx访问问题connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting to upstream,
问题:搭建好项目之后,用nginx进行代理,进行日常配置之后,发现前端正常访问,但是后端访问出现错误,报502错误,查找nginx日志,发现connect() to 127.0.0.1:8080 fa ...
- docker-compose.yml样例(mysql主从+mycat读写分离)
Docker-compose.yml文件示例 1.mysql主从复制的docker-compose.yml文件 # cat docker-compose.yml version: '2' # 这个ve ...
- [经典]网关,DNS,DHCP三者关系详解
什么叫网关的精解 Sample Text转自(协议分析论坛)计算机主机网关的作用是什么?假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的 ...
- elasticsearch插件的开发--计算特征向量的相似度
目录 更改elasticsearch的score评分 插件源码解读 脚步一 脚本二(fast-vector-distance) 部署 测试 创建索引 查询 版本说明 项目详细见github 参考文献 ...
- IOS开发常见第三方总结
链接](https://github.com/languages/Objective-C/most_watched) * [three20](https://github.com/facebook ...
- Java Bad version
Eclipse的三个地方需要重新设置: 在工程上点右键,选属性,三个地方: Java Build Path Java Compiler Project Facets:这个地方还可以设置tomcat的r ...