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'));

  1. PLAN_TABLE_OUTPUT
  2. ----------------------------------------------------------------------------------------------------------------------------------------
  3. Plan hash value: 1465018025
  4.  
  5. -----------------------------------------------------------------------------------------
  6. | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
  7. -----------------------------------------------------------------------------------------
  8. | 0 | SELECT STATEMENT | | 1 | 32 | 3 (0)| 00:00:01 |
  9. | 1 | NESTED LOOPS | | | | | |
  10. | 2 | NESTED LOOPS | | 1 | 32 | 3 (0)| 00:00:01 |
  11. | 3 | TABLE ACCESS BY INDEX ROWID| EMP | 1 | 19 | 2 (0)| 00:00:01 |
  12. |* 4 | INDEX RANGE SCAN | PK_EMP | 1 | | 1 (0)| 00:00:01 |
  13. |* 5 | INDEX UNIQUE SCAN | PK_DEPT | 1 | | 0 (0)| 00:00:01 |
  14. |* 6 | TABLE ACCESS BY INDEX ROWID | DEPT | 1 | 13 | 1 (0)| 00:00:01 |
  15. -----------------------------------------------------------------------------------------
  16.  
  17. Query Block Name / Object Alias (identified by operation id):
  18. -------------------------------------------------------------
  19.  
  20. 1 - SEL$5DA710D3
  21. 3 - SEL$5DA710D3 / E@SEL$1
  22. 4 - SEL$5DA710D3 / E@SEL$1
  23. 5 - SEL$5DA710D3 / DEPT@SEL$2
  24. 6 - SEL$5DA710D3 / DEPT@SEL$2
  25.  
  26. Outline Data
  27. -------------
  28.  
  29. /*+
  30. BEGIN_OUTLINE_DATA
  31. NLJ_BATCHING(@"SEL$5DA710D3" "DEPT"@"SEL$2")
  32. USE_NL(@"SEL$5DA710D3" "DEPT"@"SEL$2")
  33. LEADING(@"SEL$5DA710D3" "E"@"SEL$1" "DEPT"@"SEL$2")
  34. INDEX(@"SEL$5DA710D3" "DEPT"@"SEL$2" ("DEPT"."DEPTNO"))
  35. INDEX_RS_ASC(@"SEL$5DA710D3" "E"@"SEL$1" ("EMP"."EMPNO"))
  36. OUTLINE(@"SEL$2")
  37. OUTLINE(@"SEL$1")
  38. UNNEST(@"SEL$2")
  39. OUTLINE_LEAF(@"SEL$5DA710D3")
  40. ALL_ROWS
  41. DB_VERSION('11.2.0.1')
  42. OPTIMIZER_FEATURES_ENABLE('11.2.0.1')
  43. IGNORE_OPTIM_EMBEDDED_HINTS
  44. END_OUTLINE_DATA
  45. */
  46.  
  47. Predicate Information (identified by operation id):
  48. ---------------------------------------------------
  49.  
  50. 4 - access("E"."EMPNO">100 AND "E"."EMPNO"<)
  51. 5 - access("E"."DEPTNO"="DEPTNO")
  52. 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'));

  1. PLAN_TABLE_OUTPUT
  2. ----------------------------------------------------------------------------------------------------------------------------------------
  3. Plan hash value: 817787759
  4.  
  5. -----------------------------------------------------------------------------------------
  6. | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
  7. -----------------------------------------------------------------------------------------
  8. | 0 | SELECT STATEMENT | | 1 | 32 | 5 (20)| 00:00:01 |
  9. | 1 | MERGE JOIN | | 1 | 32 | 5 (20)| 00:00:01 |
  10. |* 2 | TABLE ACCESS BY INDEX ROWID | DEPT | 1 | 13 | 2 (0)| 00:00:01 |
  11. | 3 | INDEX FULL SCAN | PK_DEPT | 4 | | 1 (0)| 00:00:01 |
  12. |* 4 | SORT JOIN | | 1 | 19 | 3 (34)| 00:00:01 |
  13. | 5 | TABLE ACCESS BY INDEX ROWID| EMP | 1 | 19 | 2 (0)| 00:00:01 |
  14. |* 6 | INDEX RANGE SCAN | PK_EMP | 1 | | 1 (0)| 00:00:01 |
  15. -----------------------------------------------------------------------------------------
  16.  
  17. Query Block Name / Object Alias (identified by operation id):
  18. -------------------------------------------------------------
  19.  
  20. 1 - SEL$5DA710D3
  21. 2 - SEL$5DA710D3 / DEPT@SEL$2
  22. 3 - SEL$5DA710D3 / DEPT@SEL$2
  23. 5 - SEL$5DA710D3 / E@SEL$1
  24. 6 - SEL$5DA710D3 / E@SEL$1
  25.  
  26. Outline Data
  27. -------------
  28.  
  29. /*+
  30. BEGIN_OUTLINE_DATA
  31. USE_MERGE(@"SEL$5DA710D3" "E"@"SEL$1")
  32. LEADING(@"SEL$5DA710D3" "DEPT"@"SEL$2" "E"@"SEL$1")
  33. INDEX_RS_ASC(@"SEL$5DA710D3" "E"@"SEL$1" ("EMP"."EMPNO"))
  34. INDEX(@"SEL$5DA710D3" "DEPT"@"SEL$2" ("DEPT"."DEPTNO"))
  35. OUTLINE(@"SEL$2")
  36. OUTLINE(@"SEL$1")
  37. UNNEST(@"SEL$2")
  38. OUTLINE_LEAF(@"SEL$5DA710D3")
  39. ALL_ROWS
  40. DB_VERSION('11.2.0.1')
  41. OPTIMIZER_FEATURES_ENABLE('11.2.0.1')
  42. IGNORE_OPTIM_EMBEDDED_HINTS
  43. END_OUTLINE_DATA
  44. */
  45.  
  46. Predicate Information (identified by operation id):
  47. ---------------------------------------------------
  48.  
  49. 2 - filter("DNAME" LIKE 'a%')
  50. 4 - access("E"."DEPTNO"="DEPTNO")
  51. filter("E"."DEPTNO"="DEPTNO")
  52. 6 - access("E"."EMPNO">100 AND "E"."EMPNO"<)
  53.  
  54. 已选择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'));

  1. PLAN_TABLE_OUTPUT
  2. ----------------------------------------------------------------------------------------------------------------------------------------
  3. Plan hash value: 817787759
  4.  
  5. -----------------------------------------------------------------------------------------
  6. | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
  7. -----------------------------------------------------------------------------------------
  8. | 0 | SELECT STATEMENT | | 1 | 32 | 5 (20)| 00:00:01 |
  9. | 1 | MERGE JOIN | | 1 | 32 | 5 (20)| 00:00:01 |
  10. |* 2 | TABLE ACCESS BY INDEX ROWID | DEPT | 1 | 13 | 2 (0)| 00:00:01 |
  11. | 3 | INDEX FULL SCAN | PK_DEPT | 4 | | 1 (0)| 00:00:01 |
  12. |* 4 | SORT JOIN | | 1 | 19 | 3 (34)| 00:00:01 |
  13. | 5 | TABLE ACCESS BY INDEX ROWID| EMP | 1 | 19 | 2 (0)| 00:00:01 |
  14. |* 6 | INDEX RANGE SCAN | PK_EMP | 1 | | 1 (0)| 00:00:01 |
  15. -----------------------------------------------------------------------------------------
  16.  
  17. Query Block Name / Object Alias (identified by operation id):
  18. -------------------------------------------------------------
  19.  
  20. 1 - SEL$5DA710D3
  21. 2 - SEL$5DA710D3 / DEPT@SEL$2
  22. 3 - SEL$5DA710D3 / DEPT@SEL$2
  23. 5 - SEL$5DA710D3 / E@SEL$1
  24. 6 - SEL$5DA710D3 / E@SEL$1
  25.  
  26. Outline Data
  27. -------------
  28.  
  29. /*+
  30. BEGIN_OUTLINE_DATA
  31. USE_MERGE(@"SEL$5DA710D3" "E"@"SEL$1")
  32. LEADING(@"SEL$5DA710D3" "DEPT"@"SEL$2" "E"@"SEL$1")
  33. INDEX_RS_ASC(@"SEL$5DA710D3" "E"@"SEL$1" ("EMP"."EMPNO"))
  34. INDEX(@"SEL$5DA710D3" "DEPT"@"SEL$2" ("DEPT"."DEPTNO"))
  35. OUTLINE(@"SEL$2")
  36. OUTLINE(@"SEL$1")
  37. UNNEST(@"SEL$2")
  38. OUTLINE_LEAF(@"SEL$5DA710D3")
  39. ALL_ROWS
  40. DB_VERSION('11.2.0.1')
  41. OPTIMIZER_FEATURES_ENABLE('11.2.0.1')
  42. IGNORE_OPTIM_EMBEDDED_HINTS
  43. END_OUTLINE_DATA
  44. */
  45.  
  46. Predicate Information (identified by operation id):
  47. ---------------------------------------------------
  48.  
  49. 2 - filter("DNAME" LIKE 'a%')
  50. 4 - access("E"."DEPTNO"="DEPTNO")
  51. filter("E"."DEPTNO"="DEPTNO")
  52. 6 - access("E"."EMPNO">100 AND "E"."EMPNO"<)
  53.  
  54. 已选择50行。

leading--Oracle hint的更多相关文章

  1. SWAP_JOIN_INPUTS Oracle Hint(处理hash join强制大表(segment_size大)作为被驱动表)

    SWAP_JOIN_INPUTS Oracle Hint(处理hash join强制大表(segment_size大)作为被驱动表) swap_join_inputs是针对哈希连接的hint,它的含义 ...

  2. SQL优化过程中常见Oracle HINT

    在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量, ...

  3. Oracle hint手动优化

    例子 select/*+FULL(fortest)*/ * from fortest where id = 2000000 //使用0.70s时间 select* from fortest where ...

  4. 品味性能之道<十>:Oracle Hint

    Hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式. 因为Hint的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是Ora ...

  5. Oracle Hint 详解

    Hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式. 因为Hint的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是Ora ...

  6. oracle --hint总结

    得到一条sql语句执行计划的常用方法:1.explain plan 命令  2.DBMS_XPLAN包3.sqlplus中的AUTOTRACE开关4.10046事件5.10053事件6.AWR报告或者 ...

  7. 【DBAplus】SQL优化:一篇文章说清楚Oracle Hint的正确使用姿势

    原创 2016-09-12 韩锋  作者介绍 韩锋,宜信技术研发中心数据库架构师.精通多种关系型数据库,曾任职于当当网.TOM在线等公司,曾任多家公司首席DBA.数据库架构师等职,多年一线数据库架构. ...

  8. SQL优化:一篇文章说清楚Oracle Hint的正确使用姿势

    一.提示(Hint)概述 1为什么引入Hint? Hint是Oracle数据库中很有特色的一个功能,是很多DBA优化中经常采用的一个手段.那为什么Oracle会考虑引入优化器呢?基于代价的优化器是很聪 ...

  9. 常见Oracle HINT的用法

    1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_I ...

  10. Oracle Hint 用法

    正确的语法是: select /*+ index(x idx_t) */ * from t x where x.object_id=123 /*+    */ 和注释很像,比注释多了一个“+”,这就是 ...

随机推荐

  1. ASP.NET 下使用特定身份完成windows服务的功能操作

    今天部署项目的发现一个问题: 在本地Win7系统下利用Web页面完成Windows服务的功能操作(启动.停止.安装.卸载)都是正常的,而部署到Server2008系统下,再使用Web页面完成windo ...

  2. CentOS7 配置 Redis Sentinel主从集群配置

    Redis Sentinel主从集群 环境.准备 slave配置 sentinel配置 测试 C#连接Redis Sentinel 1.环境.准备 单实例3台CentOS7服务器,IP地址.: 192 ...

  3. 搭建hadoop_之 创建3个虚拟机配置好网络

    (创建3个虚拟机,1个作为主服务器,二个作为从节点)   一.安装虚拟机 Windwos:VMware Workstation Pro MAC:VMware Fusion 安装:     ** 创建空 ...

  4. SpringAOP-切面优先级

    项目中有两个切面,这两个切面都作用于同一个方法,哪个先执行哪个后执行呢,所以要定义一个切面的优先级 import java.util.Arrays; import org.aspectj.lang.J ...

  5. 解决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 ...

  6. docker-compose.yml样例(mysql主从+mycat读写分离)

    Docker-compose.yml文件示例 1.mysql主从复制的docker-compose.yml文件 # cat docker-compose.yml version: '2' # 这个ve ...

  7. [经典]网关,DNS,DHCP三者关系详解

    什么叫网关的精解 Sample Text转自(协议分析论坛)计算机主机网关的作用是什么?假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的 ...

  8. elasticsearch插件的开发--计算特征向量的相似度

    目录 更改elasticsearch的score评分 插件源码解读 脚步一 脚本二(fast-vector-distance) 部署 测试 创建索引 查询 版本说明 项目详细见github 参考文献 ...

  9. IOS开发常见第三方总结

    链接](https://github.com/languages​​/Objective-C/most_watched) * [three20](https://github.com/facebook ...

  10. Java Bad version

    Eclipse的三个地方需要重新设置: 在工程上点右键,选属性,三个地方: Java Build Path Java Compiler Project Facets:这个地方还可以设置tomcat的r ...