[20250307]关于use_hash提示遇到的问题.txt --//前一段时间遇到的问题,当时觉得奇怪,做一个简单例子说明问题: 1.环境: SCOTT@book01p> @ver2 ============================== PORT_STRING : x86_64/Linux 2.4.xx VERSION : 21.0.0.0.0 BANNER : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production BANNER_FULL : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production Version 21.3.0.0.0 BANNER_LEGACY : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production CON_ID : 0 PL/SQL procedure successfully completed. 2.测试: SCOTT@book01p> select /*+ use_hash(dept emp) */ dname,ename,loc from dept,emp where dept.deptno = emp.deptno; SCOTT@book01p> @ dpc '' 'outline' '' Plan hash value: 615168685 ------------------------------------------------------------------------------------------------------- | Id | Operation | Name | E-Rows |E-Bytes| Cost (%CPU)| E-Time | OMem | 1Mem | Used-Mem | ------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | | | 6 (100)| | | | | |* 1 | HASH JOIN | | 12 | 348 | 6 (0)| 00:00:01 | 1399K| 1399K| 1018K (0)| | 2 | TABLE ACCESS FULL| DEPT | 4 | 80 | 3 (0)| 00:00:01 | | | | | 3 | TABLE ACCESS FULL| EMP | 12 | 108 | 3 (0)| 00:00:01 | | | | ------------------------------------------------------------------------------------------------------- .... Outline Data ------------- /*+ BEGIN_OUTLINE_DATA IGNORE_OPTIM_EMBEDDED_HINTS OPTIMIZER_FEATURES_ENABLE('21.1.0') DB_VERSION('21.1.0') ALL_ROWS OUTLINE_LEAF(@"SEL$1") FULL(@"SEL$1" "DEPT"@"SEL$1") FULL(@"SEL$1" "EMP"@"SEL$1") LEADING(@"SEL$1" "DEPT"@"SEL$1" "EMP"@"SEL$1") USE_HASH(@"SEL$1" "EMP"@"SEL$1") END_OUTLINE_DATA */ Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 2 (U - Unused (1)) --------------------------------------------------------------------------- 2 - SEL$1 / "DEPT"@"SEL$1" U - use_hash(dept emp) 3 - SEL$1 / "EMP"@"SEL$1" - use_hash(dept emp) --//开始看到提示部分感觉很奇怪,不理解,实际上真实的提示应该是USE_HASH(@"SEL$1" "EMP"@"SEL$1"),里面写入被驱动表就可以了。 --//对于这类情况要优化最好加入leading提示。
[20250307]关于use_hash提示遇到的问题.txt
来源:这里教程网
时间:2026-03-03 21:44:31
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 一次ASM磁盘增加导致的故障分享
一次ASM磁盘增加导致的故障分享
26-03-03 - Oracle 多租户ORA-65023: active transaction exists in container CDB$ROOT
- 数据库管理-第300期 一个不痛不痒的BUG(20250307)
数据库管理-第300期 一个不痛不痒的BUG(20250307)
26-03-03 - 第34期 CURSOR_SHARING和FORCE_MATCHING_SIGNATURE对SQL计划稳定性的局限性
- windows下oracle打完补丁不能正常启动服务
windows下oracle打完补丁不能正常启动服务
26-03-03 - 一次数据库访问异常分析
一次数据库访问异常分析
26-03-03 - 一次Undo表空间耗尽问题
一次Undo表空间耗尽问题
26-03-03 - 19C统计信息引发的数据库慢问题
19C统计信息引发的数据库慢问题
26-03-03 - SQL优化之数据倾斜解决方案
SQL优化之数据倾斜解决方案
26-03-03 - 一次报表查询优化
一次报表查询优化
26-03-03
