oracle 11g 有没有遇到过创建了索引无法使用的

查看 43|回复 3
作者:iv8d   
如题
起因
oracle 给子表创建了外键索引,使用外键单独查询子表数据,是全表查询没有走索引。使用 EXPLAN PLAN FOR 查看确定是全表查的。放了一晚上第二天发现又正常使用了索引查询。但是其他子表还是有没使用索引的问题。
需求
希望创建了索引后都能走该索引查询,别全表查太慢了。为什么创建好了索引还是全表查,但是个别子表放一晚又能使用索引查了呢(数据量大?子表 4kw 数据)。
另,只查子表,没有关联查询,条件就一个子表外键。
感谢
mamumu   
mysql 里对索引有个区分度的评价,评分高的才会采用,但是这个值并不是事实更新的,可以用 ANALYZE TABLE 让它立即更新。感觉 oracle 也有类似的机制吧
SoulSleep   
这种问题问 dba 就好...
Oracle 有定期的索引优化计划
另外可以强制绑定执行计划走索引
nash1000   
有多种可能不走索引,索引失效,表的统计信息不准确,或者分析器认为不走的性能更好。这个一步步问 gpt 就行,他会告诉你怎么排查。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部