强制oracle使用索引

P S*_*rma 4 oracle

有没有办法强制oracle使用索引除了Hints?

Don*_*nie 7

不.如果优化器不使用索引,它通常有充分的理由.索引使用情况,如果索引较差,实际上可能会降低查询速度.


Aar*_*lla 7

Oracle在认为索引时不使用索引

  • 无效(例如,在大量数据加载和有关索引的统计信息尚未更新之后)
  • 将无济于事(例如,当500万行中只有两个不同的值时)

因此,首先要检查的是索引是否已启用,然后在索引/表/架构上运行正确的GATHER命令.如果这没有帮助,Oracle认为加载索引实际上比加载实际行值花费更多时间.在这种情况下,请向索引添加更多列,使其看起来更"多样化".