leading hint 可以指示Oracle使用leading 中指定的表作为驱动表,
比如 正常的访问计划如下
SCOTT@www.linuxidc.com> select e.ename, hiredate, b.comm
2 from emp e, bonus b
3 where e.ename = b.ename;
Execution Plan
----------------------------------------------------------
Plan hash value: 1125985041
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 34 | 6 (17)| 00:00:01 |
|* 1 | HASH JOIN | | 1 | 34 | 6 (17)| 00:00:01 |
| 2 | TABLE ACCESS FULL| BONUS | 1 | 20 | 2 (0)| 00:00:01 |
| 3 | TABLE ACCESS FULL| EMP | 14 | 196 | 3 (0)| 00:00:01 |
----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("E"."ENAME"="B"."ENAME")
我们在leading 提示中指定 emp 表为驱动表
SCOTT@www.linuxidc.com> select /*+ leading(e b) */ e.ename,hiredate,b.comm
2 from emp e, bonus b
3 where e.ename = b.ename;
Execution Plan
----------------------------------------------------------
Plan hash value: 1842254584
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 34 | 6 (17)| 00:00:01 |
|* 1 | HASH JOIN | | 1 | 34 | 6 (17)| 00:00:01 |
| 2 | TABLE ACCESS FULL| EMP | 14 | 196 | 3 (0)| 00:00:01 |
| 3 | TABLE ACCESS FULL| BONUS | 1 | 20 | 2 (0)| 00:00:01 |
----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("E"."ENAME"="B"."ENAME")
如结果执行计划中将emp 作为驱动表!
1 在leading 提示同时使用ordered hint,则leading hint无效
SCOTT@www.linuxidc.com> select /*+ leading(b e) ordered */ e.ename,hiredate, b.comm
2 from emp e, bonus b
3 where e.ename = b.ename;
Execution Plan
----------------------------------------------------------
Plan hash value: 1842254584
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 34 | 6 (17)| 00:00:01 |
|* 1 | HASH JOIN | | 1 | 34 | 6 (17)| 00:00:01 |
| 2 | TABLE ACCESS FULL| EMP | 14 | 196 | 3 (0)| 00:00:01 |
| 3 | TABLE ACCESS FULL| BONUS | 1 | 20 | 2 (0)| 00:00:01 |
----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("E"."ENAME"="B"."ENAME")
2 使用两个冲突的leading hint ,则oracle cbo会忽略所有的leading 提示!
SCOTT@www.linuxidc.com> select /*+ leading(b e) leading(e b) */e.ename,hiredate, b.comm
2 from emp e, bonus b
3 where e.ename = b.ename;
Execution Plan
----------------------------------------------------------
Plan hash value: 1125985041
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 34 | 6 (17)| 00:00:01 |
|* 1 | HASH JOIN | | 1 | 34 | 6 (17)| 00:00:01 |
| 2 | TABLE ACCESS FULL| BONUS | 1 | 20 | 2 (0)| 00:00:01 |
| 3 | TABLE ACCESS FULL| EMP | 14 | 196 | 3 (0)| 00:00:01 |
----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("E"."ENAME"="B"."ENAME")
- 大小: 51.6 KB
分享到:
相关推荐
介绍了oracle中的hint,常用的 ordered、use_nl、use_hash、index、full 五种, 给出使用实例和适用场景
Subject: ORDERED Hint in Complex Searches Doc ID: 408049.1 Type: PROBLEM Modified Date : 08-JUL-2009 Status: PUBLISHED
Oracle Hint 是一种在SQL语句中插入的特殊指令,它用来指导Oracle数据库的查询优化器如何执行查询。在SQL优化过程中,Hint可以帮助我们控制查询执行计划,以达到提高查询性能的目的。以下是一些常见的Oracle Hint...
- `ORDERED` HINT:指示CBO保持查询结果的顺序,常与子查询和游标相关联。 - `FIRST_ROWS` HINT:优化器将优先返回前几行,适合于需要快速返回初步结果的场景。 4. **统计信息**: - `ANALYZE TABLE` 语句用于...
- **Hint介绍**:HINT是一种特殊语法,用于告诉Oracle优化器如何处理特定的查询操作。 - **导致提示无效的条件**:在某些情况下,如统计信息不准确时,HINT可能会导致查询计划变差。 - **几种主要的优化模式**:包括...
其中一个可以选择的优化方式是dba通过分析表的结构,数据量,索引结构等信息,通过hint/*ordered*/和索引hint/*index(table_name index_name)*/强制oracle的执行路径.极端情况下,这种优化可以提高的查询速度是非常可观...
6.3.2 ordered hint 126 6.4 表关联操作的hint 127 6.4.1 use_hash,use_nl和use_merge hint 127 6.4.2 no_use_hash hint 132 6.4.3 no_use_merge hint 133 6.4.4 no_use_nl hint 133 6.5 并行执行相关的hint 134 ...
在序号顺序离散哈达玛变换(Sequency-Ordered Discrete Hadamard Transform, sequency-ordered DHT)中,变换的顺序依据输入序列的自然顺序进行。 MATLAB是一种强大的数值计算环境,非常适合实现各种数学变换算法,...
3. **类型**:Oracle支持多种类型的hints,包括索引使用(INDEX, USE_INDEX, IGNORE_INDEX),连接顺序(LEADING, ORDERED, NESTED LOOP),并行处理(PARALLEL),分区策略(PARTITION)等。 **Sql优化之Hints的...
6.3.2 ordered hint 126 6.4 表关联操作的hint 127 6.4.1 use_hash,use_nl和use_merge hint 127 6.4.2 no_use_hash hint 132 6.4.3 no_use_merge hint 133 6.4.4 no_use_nl hint 133 6.5 并行执行相关的hint 134 ...
这篇基础教程将带你深入了解Oracle的一些基本操作和概念。 首先,我们来看一下Oracle常用命令。在Oracle数据库中,`SELECT`语句用于从表中检索数据,如`SELECT DISTINCT mycolumn FROM mytable`用于获取`mytable`中...
在Java编程语言中,`OrderedList`是一种特殊的集合类,它不仅提供了集合的基本操作,如添加、删除和查找元素,还特别强调了元素的顺序。标题"OrderedList:OrderedList(与JDK1.7一起编译)"暗示了这个项目或者库是...
北大POJ2533-Longest Ordered Subsequence【O(nlogn)】
例如,在SQL语句中添加`/*+ ordered use_nl(bonus) parallel(e,4) */`这样的Hint,可以明确指定使用嵌套循环连接(Nested Loop Join)的方式,并行执行特定的子查询,从而在某些场景下进一步提升查询效率。...
### R语言入门教程知识点梳理 #### 一、绪论与基础知识 **1.1 R语言环境** - **定义**: R是一种用于统计计算和图形展示的编程语言。 - **特点**: 开源免费,拥有强大的社区支持。 - **应用场景**: 数据分析、统计...
在Oracle数据库中,SQL分页是一种非常常见的查询技术,它允许我们从大量数据中按需获取一部分结果,而不是一次性加载所有记录。这对于提高用户体验和优化系统性能至关重要,尤其是在处理大数据量的Web应用中。本实践...
"Laravel开发-ordered-eloquent"这个项目则是针对Eloquent ORM的一个扩展,旨在实现自动排序查询结果的功能。 这个扩展名为Ordered Eloquent,其主要目标是让开发者在使用Eloquent查询时,能够更加方便地对结果进行...
标题中的"PyPI 官网下载 | orderedset-1.2.tar.gz"表明这是一个在Python Package Index (PyPI)上发布的软件包,名为`orderedset-1.2`,并且是以`.tar.gz`格式提供的。PyPI是Python社区用于分发、发现和安装第三方...
这个“HTML简单入门教程”旨在引导初学者进入Web开发的世界,理解HTML的基本结构和语法,从而能够创建静态的网页内容。 首先,HTML由一系列的元素(Elements)组成,这些元素通过标签(Tags)来定义。每个HTML元素...