oracle hint 谓词推进,oracle常见hint

与优化器模式相关的hint

1.1 /*+ all_rows */ 让优化器启动CBO

1.2 /*+ first_rows(n)*/优化器启动CBO,选择会快返回前n行数据的执行计划。与first_rows_n不同,first_rows_n n只能为1,10,100,1000.

1.3 /*+ rule */ 启动RBO,与其他hint连用,其他hint一般会失效。

与表及索引访问相关的hint

2.1 full(xxx) 全表扫描

2.2 index(目标表 目标索引1 目标索引2)

2.3 no_index(目标表 目标索引1 目标索引2)

2.4 index_desc(目标表 目标索引1 目标索引2) 让优化器对目标索引执行降序扫描,如目标索引是降序,则hint则以升序扫描目标索引。

2.5 index_ffs(目标表 目标索引1 目标索引2)  索引快速全扫描

与表连接顺序相关的hint

3.1 ordered 让优化器在执行多表连接时,按照他们在sql中where条件出现顺序进行连接。查询转换可能会导致这个hint失效。

3.2 leading(表1 表2) 让优化器将我们执行多个表的连接结果作为目标sql表连接过程中的结果集,并将hint中自左到右的第一个表,作为表连接的驱动表。

与表连接方法相关的hint

4.1 use_merge(表1 表2) 让优化器将我们指定的多个表作为被驱动表与其他表或结果集做排序合并连接。

4.2 no_use_merge(表1 表2)

4.3 use_nl(表1 表2) 让优化器将我们指定的多个表作为被驱动表与其他表或结果集做嵌套循环连接。经常与leading合用。

/*+use_nl(s,X)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值