索引与全面扫描,我如何确定使用哪个以及何时使用

是否有何时使用完整扫描而不是索引的经验法则?我是oracle的新手,但仍在努力使自己适应性能调优。谢谢!

ly122653002 回答:索引与全面扫描,我如何确定使用哪个以及何时使用

优化器的目的是为您做出这些决定。当然,它并不总是正确的,但是总的来说,我会让优化器为我完成所有繁重的工作,并且只担心它出现问题的问题,因此我不得不“干预”。

但是就全扫描与索引而言,我鼓励您不要以这些术语考虑,仅仅是因为您的客户以及您的应用程序不在乎。客户关心的是响应时间,因此驱动因素始终应该是响应时间。

如果对于查询1,完整扫描比索引扫描更快,那么完整扫描是更好的选择。这并不能使索引全盘扫描“总是”更好,或者总之在哲学上或技术上都比索引扫描更好。这只是意味着对于此查询,完整扫描是最佳的。

如果对于另一个查询,索引更好,那么无论如何,我们应该使用索引。

常见的是在书籍和博客文章中看到咨询,说“在计划中查找表访问已满-太糟糕了”,并且类似。我认为是BS。无论执行计划如何为您的查询提供最佳性能,都是最佳方案……无论它使用索引扫描,全扫描还是任何其他形式的优化程序路径。

如果您想更全面地了解SQL调优,我在这里https://connor-mcdonald.com/2019/10/24/the-holistic-sql-tuning-series/

写了一个由四部分组成的系列文章
本文链接:https://www.f2er.com/3161547.html

大家都在问