在Oracle的文档中,对于优化器中的估计器,存在如下所示的模式:
https://docs.oracle.com/database/121/TGSQL/img/GUID-22630970-B584-41C9-B104-200CEA2F4707-default.gif

据我所知,通常情况下,计划生成器会生成计划,并将其连续处理给估算器,以估算其成本。但是,在此架构中,查询转换器之后,查询将直接传递到估计器。但是还没有任何计划。

我的问题是,当首先从查询转换器向估计器处理查询时会发生什么?因为还没有计划。那么它如何计算成本呢?还是直接在没有任何费用的情况下将其直接传递给计划生成器?

提前致谢。

最佳答案

估计器参与查询优化器过程。它的主要任务是测量提供计划生成器的计划。

估算器的最终目标是估算给定计划的总体成本。如果统计信息可用(如果您在旁边的图像中的统计信息中注意到),则估算器将使用它们来计算度量。统计信息提高了度量的准确性。

关于oracle - Oracle中的估算器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53847748/

10-12 06:30