我一直在通过索引和集群对我的SQL查询进行一些基本的优化,但我遇到了一个可能很奇怪的问题。我的大多数查询的成本从高到低从几百到几千不等,我为它们添加了索引,降低了它们的成本。
然而,我的一些查询已经具有非常低的成本,通常是个位数。我能忘了这些吗?是否仍然值得优化这些查询,或者我不应该付出努力?
基本上,我想知道是否有一个通用的范围或指标可以用来确定查询是否应该进一步优化。如果我应该在逐个案例的基础上确定这一点,那么在决定优化哪些查询时使用一些指导原则将是很有帮助的。
发布于 2012-11-09 03:51:16
简单的答案是,如果执行次数使低成本查询具有重要意义,则低成本查询是重要的。
棘手的部分是,较低的估计成本可能并不意味着较低的执行成本--高成本查询也是如此。
我肯定会查看AWR或Statspack报告,以了解您最重要的查询是什么,并应用您自己的常识来判断对于查询的目的而言,执行计划看起来是最佳的。
发布于 2012-11-09 03:49:39
没有严格的指导方针。您可能希望获得查询持续时间和执行次数的统计信息。还取决于查询的关键程度(是用于实时数据还是用于运行单个报告)。
如果一个查询耗时10秒,但每天执行1次,那么您可能不需要对其进行优化。
如果查询耗时1秒,但每天执行10000次,那么您可能需要对其进行优化。
https://stackoverflow.com/questions/13296501
复制相似问题