Oracle中的Estimator

在Oracle的文档中,对于优化器中的估计器,有一个这样的模式:

https://docs.oracle.com/database/121/TGSQL/img/GUID-22630970-B584-41C9-B104-200CEA2F4707-default.gif

通常,正如我所知,计划生成器生成计划并连续地将这些计划处理到估算器,以估算其成本.但是,在此模式中,在查询转换器之后,查询将直接传递给估计器.但目前还没有任何计划.

我的问题是,当查询首先从查询转换器处理到估计器时会发生什么?因为还没有计划.那么它如何计算成本呢?或者它是否在第一时间没有任何费用直接传递给计划生成器?

提前致谢.

最佳答案 估计器参与查询优化器过程.其主要任务是衡量计划生成者的计划.

估算器的最终目标是估算给定计划的总成本.如果统计数据可用,(如果您在旁边的图像中的统计数据中注意到),则估算器使用它们来计算度量.统计数据提高了措施的准确程度.

点赞