优化已经很低成本的查询



我一直在通过索引和聚类来对我的SQL查询进行一些基本的优化,但已经提出了一个奇怪的问题。我的大多数疑问的成本范围从高数到数千美元不等,我为它们增加了指数,使他们的成本降低了。

但是,我的某些查询已经有很低的成本,通常是一个数字。我可以忘记这些吗?是否值得优化这些查询,还是我不应该付出努力?

基本上,我想知道我可以使用一般范围或指标来确定是否应进一步优化查询。如果我应该逐案确定这一点,那么有一些准则可以使用一些准则来确定要优化的查询。

简单的答案是,如果执行次数使它们造成的低成本查询很重要。

棘手的部分是低估计的成本可能并不意味着低执行成本 - 同样适用于高成本查询。

我肯定会查看AWR或Statspack报告,以查看您最重要的查询是什么,并应用您自己的常识来判断执行计划对查询的本意最佳。

没有严格的指南。您可能想了解QUAL的最后时间以及执行多少次。还取决于查询的关键性(是用于实时数据或运行单个报告)。

如果查询需要10秒,但每天执行1次,那么您可能不需要优化。
如果查询需要1秒,但每天执行10000次,则可能需要优化。