Oracle调优之Hint用法整理笔记

举报
yd_273762914 发表于 2020/12/03 00:24:46 2020/12/03
【摘要】 整理工作中用到的Hint,不定时更新,Hint是oracle早期因为oracle优化器还不是很完善加上去的,可以辅助oracle优化器,Hint 是Oracle 提供的一种SQL语法,常用于SQL调优,通过Hint强行改变Oracle的执行计划,从而实现sql调优 文章目录 1、/*+ result_cache */2、/*+ connect_by_filter...

整理工作中用到的Hint,不定时更新,Hint是oracle早期因为oracle优化器还不是很完善加上去的,可以辅助oracle优化器,Hint 是Oracle 提供的一种SQL语法,常用于SQL调优,通过Hint强行改变Oracle的执行计划,从而实现sql调优

1、/*+ result_cache */

设置缓存,特殊业务场景才可以使用

2、/*+ connect_by_filtering */

强制使用联合型的关联型(CONNECT BY WITH FILTERING)
,ps:详情

见:https://smilenicky.blog.csdn.net/article/details/89604262

3、/*+ no_unnset */

双重否定表示肯定,即让子查询展开,让它嵌套(nest)在里面

4、/*+ index(表别名 索引名) */

强制索引,有时候可以使用,不过有时候可以关了基数反馈机制

5、/*+ INDEX_FFS(表别名 索引名) */

对指定的表执行快速全索引扫描,而不是全表扫描的办法

6、/*+ INDEX_DESC(表别名 索引名 ) */

表明对表选择索引降序的扫描方法

7、/*+ INDEX_ASC(表别名 索引名) */

表明对表选择索引升序的扫描方法

8、/*+ INDEX_COMBINE */

为指定表选择位图访问路经,如果INDEX_COMBINE中没有提供作为参数的索引,将选择出位图索引的布尔组合方式

9、/*+ INDEX_JOIN(表别名 索引名) */

提示明确命令优化器使用索引作为访问路径

10、/*+ ADD_EQUAL 表别名 索引名1,索引名2,… */

提示明确进行执行规划的选择,将几个单列索引的扫描合起来
eg:

SELECT /*+INDEX_FFS(e IN_ENAME,IN_DEPTNO)*/
 *
  FROM emp e
 WHERE e.ename = 'CLERK' AND e.deptno = '20';

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

11、/*+ ordered use_nl(dept) */

强制使用联合型的关联型(NL),将指定表与嵌套的连接的行源进行连接,并把指定表作为内部表

12、/*+ ALL_ROWS */

表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化

13、/+FIRST_ROWS/

表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化

14、/*+ CHOOSE */

表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量;
表明如果数据字典中没有访问表的统计信息,将基于规则开销的优化方法;

15、/*+ RULE */

表明对语句块选择基于规则的优化方法

16、/*+ FULL(TABLE) */

表明对表选择全局扫描的方法

17、/*+ ROWID(TABLE) */

提示明确表明对指定表根据ROWID进行访问

18、/*+ USE_HASH(TABLE) */

将指定的表与其他行源通过哈希连接方式连接起来

19、/*+ no_parallel */

强制SQL取消并行特性,并行特性有时候很影响系统性能,不要特意使用

20、/*+ parallel(表别名,并行度) */

并行度是数字的,一般并行特性是比较容易影响系统性能的,不能滥用,除非特殊场景

21、/*+ ROWID(表名) */

表明对指定表根据ROWID进行访问,ROWID是一个伪列,通过ROWID定位查找速度更快,可以用于SQL调优

文章来源: smilenicky.blog.csdn.net,作者:smileNicky,版权归原作者所有,如需转载,请联系作者。

原文链接:smilenicky.blog.csdn.net/article/details/89735767

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。