77范文网 - 专业文章范例文档资料分享平台

ORACLE-技术文档-oracle 驱动表(包含 hint使用 nested loop has(3)

来源:网络收集 时间:2019-01-07 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Predicate Information (identified by operation id): ---------------------------------------------------

3 - filter(\

4 - access(\ Note -----

- dynamic statistics used: dynamic sampling (level=2)

Statistics

---------------------------------------------------------- 10 recursive calls 0 db block gets 73 consistent gets 1 physical reads 0 redo size

542 bytes sent via SQL*Net to client

543 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed

SQL>

--代价和hash join差不多,另外,即使强制B表作为驱动表,仍然不能将B表作为驱动表。

两个都有索引的情况

SQL> create index id_a_id on a(id);

Index created.

SQL> exec dbms_stats.gather_table_stats(user,'A',CASCADE=>TRUE);

PL/SQL procedure successfully completed.

SQL> exec dbms_stats.gather_table_stats(user,'B',cascade => true);

PL/SQL procedure successfully completed.

SQL>

SQL> Select /*+ ordered use_nl(b) */count(*) from a,b where a.id=b.object_id 2 Andobject_id=53;

COUNT(*) ---------- 1

1 row selected.

Elapsed: 00:00:00.01

Execution Plan

---------------------------------------------------------- Plan hash value: 2751652919

-------------------------------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 9 | 2 (0)| 00:00:01 |

| 1 | SORT AGGREGATE | | 1 | 9 | | |

| 2 | NESTED LOOPS | | 1 | 9 | 2 (0)| 00:00:01 |

|* 3 | INDEX RANGE SCAN| ID_A_ID | 1 | 4 | 1 (0)| 00:00:01 |

|* 4 | INDEX RANGE SCAN| ID_B_OBJECT_ID | 1 | 5 | 1 (0)| 00:00:01 | -------------------------------------------------------------------------------------

Predicate Information (identified by operation id): ---------------------------------------------------

3 - access(\ 4 - access(\

Statistics

---------------------------------------------------------- 1 recursive calls 0 db block gets 3 consistent gets 0 physical reads 0 redo size

542 bytes sent via SQL*Net to client

543 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed

SQL>

--hint强制不能将B表作为驱动表

两个表较小,如果不使用hint,执行计划走sort mergegate方式 代价明显变小,又减少一倍(索引是多么重要)

一个语句使用多个hint的写法

仅举例

SELECT /*+ USE_HASH(TA,TB) parallel(TA,4) parallel(TB,4) */ FROM BSEMPMS TA, BSDPTMS TB

WHERE TA.DPT_NO=TB.DPT_NO;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库ORACLE-技术文档-oracle 驱动表(包含 hint使用 nested loop has(3)在线全文阅读。

ORACLE-技术文档-oracle 驱动表(包含 hint使用 nested loop has(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/407636.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: