Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 索引与完整扫描,如何确定使用哪种索引以及何时使用_Oracle - Fatal编程技术网

Oracle 索引与完整扫描,如何确定使用哪种索引以及何时使用

Oracle 索引与完整扫描,如何确定使用哪种索引以及何时使用,oracle,Oracle,什么时候使用完整扫描而不是索引,是否有经验法则?我是oracle的新手,仍在努力思考性能调优问题。谢谢 优化器的目的是为您做出这些决策。尽管它并不总是正确的,但通常我会让优化器为我完成所有繁重的工作,只担心出现问题的地方,可以说我不得不“干预” 但就全扫描与索引而言,我建议您不要用这些术语来思考,因为您的客户和应用程序并不在意。客户关心的是响应时间,所以这里的驱动因素应该始终是响应时间 如果对于查询1,完全扫描比索引扫描快,那么完全扫描是更好的选择。这并不意味着完全扫描“总是”比索引扫描更好,也

什么时候使用完整扫描而不是索引,是否有经验法则?我是oracle的新手,仍在努力思考性能调优问题。谢谢

优化器的目的是为您做出这些决策。尽管它并不总是正确的,但通常我会让优化器为我完成所有繁重的工作,只担心出现问题的地方,可以说我不得不“干预”

但就全扫描与索引而言,我建议您不要用这些术语来思考,因为您的客户和应用程序并不在意。客户关心的是响应时间,所以这里的驱动因素应该始终是响应时间

如果对于查询1,完全扫描比索引扫描快,那么完全扫描是更好的选择。这并不意味着完全扫描“总是”比索引扫描更好,也不意味着“哲学上”或“技术上”比索引扫描更好。这仅仅意味着对于这个查询,完整扫描是最好的

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

在书籍和博客文章中经常会看到这样的建议:“在计划中查找表访问权限,这很糟糕”,以及类似的建议。我认为这是错误的。无论执行计划如何为查询提供最佳性能,它都是最佳的。。。无论它使用索引扫描、完整扫描还是任何其他形式的优化器路径


如果您想更全面地了解SQL调优,我在这里编写了一个由四部分组成的系列文章

优化器的目的是为您做出这些决策。尽管它并不总是正确的,但通常我会让优化器为我完成所有繁重的工作,只担心出现问题的地方,可以说我不得不“干预”

但就全扫描与索引而言,我建议您不要用这些术语来思考,因为您的客户和应用程序并不在意。客户关心的是响应时间,所以这里的驱动因素应该始终是响应时间

如果对于查询1,完全扫描比索引扫描快,那么完全扫描是更好的选择。这并不意味着完全扫描“总是”比索引扫描更好,也不意味着“哲学上”或“技术上”比索引扫描更好。这仅仅意味着对于这个查询,完整扫描是最好的

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

在书籍和博客文章中经常会看到这样的建议:“在计划中查找表访问权限,这很糟糕”,以及类似的建议。我认为这是错误的。无论执行计划如何为查询提供最佳性能,它都是最佳的。。。无论它使用索引扫描、完整扫描还是任何其他形式的优化器路径


如果您想更全面地了解SQL调优,我在这里编写了一个由四部分组成的系列文章

,更不用说
存储已满
表访问已满
;)的危害要小一些更不用说
存储已满
表访问已满
;)的危害要小一些