oracle hints的使用

优化器模式:all_rows  , first_rows
数据访问路径: 基于表的数据访问, 基于索引的数据访问
表关联的方式:NL , MJ , HJ

使用hints尽量避免在开发中使用。一般在dba层面去使用。一般也只加优化器模式,其它的
hints最好不用。

全表扫描 :
select /*+ full(t) */ from t where object_id=  100 ;
如果全表扫描,消耗的一致性读会很多。如果 用索引,会消耗很少。
index的使用
select /*+ index(t idx_t) */ * from t where object_id>10 ;
noindex的使用
select /*+ no_index(t idx_t) */ count(object_id) from t ;
FFS(fast full scan)扫描
select count(object_id) from t ;  此时会按索引来扫描,速度很快。
而如果使用 select /*+ full(t) */ count(*)  from t  ; 则会使用全表扫描。

index range scan 适用于范围很少的扫描
index fast scan 适用于索引的统计。

表的关联的hints
NL: /*+use_nl*/ Nested loop joins 
eg: select /*+use_nl*/ t.* from t,t1 where t.object_id=t1.object_id ;
NL的使用场景 :
 外表比较小,内表的关联字段上有索引,索引的键值不应该重复率很高。

HJ的使用场景 :
 一个大表,一个小表的关联 ,表上没有索引,返回结果集比较大。




















来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29196873/viewspace-1138173/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29196873/viewspace-1138173/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值