oracle表关联为什么不走索引,Oracle执行计划不走索引的原因总结

51Testing软件测试网\2cGa+\2o

在操作中,为什么有时一个表的某个字段明明有索引,当观察一些语的执行计划确不走索引呢?如何解决呢?本文我们主要就介绍这部分内容,接下来就让我们一起来了解一下。51Testing软件测试网}6M/l0f2rh$D

#^7R9ye"?;}0不走索引大体有以下几个原因:1qH+L{8]^-^0

|:\9wN/~!LAq0你在Instance级别所用的是all_rows的方式51Testing软件测试网"P"t7~D2T6uaD

Q1^[$pVp_,C~s0你的表的统计信息(最可能的原因)51Testing软件测试网0rs(v6l`!~?51Testing软件测试网4G

u`&}3n~Z

你的表很小,上文提到过的,Oracle的优化器认为不值得走索引。g,FI7y%R%@;`1D$O6_7A051Testing软件测试网

fL!Y8~5C4v{C

wK

解决方法:;?lf|DzS051Testing软件测试网6W"HCE UQ|

可以修改init.ora中的OPTIMIZER_MODE这个参数,把它改为Rule或Choose,重起数据库。也可以使用4中所提的Hint。m:\0v)^$GL$[0

6v/`Y3xPam0不走索引的其它原因::G

S,eg.KyN051Testing软件测试网N7M&yn3f!^m!_k

1、建立组合索引,但查询谓词并未使用组合索引的第一列,此处有一个INDEX SKIP SCAN概念。!@Fd8@.v

x7p6P0

7v/Hf6j6fl02、在包含有nul

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值