Oracle 参数 OPTIMIZER_USE_SQL_PLAN_BASELINES 官方解释,作用,如何配置最优化建议

本站中文解释

OPTIMIZER_USE_SQL_PLAN_BASELINES参数用于控制Oracle数据库确定执行计划时是否使用存在基线中的计划。该参数被Oracle 12c引入,用于将SQL执行计划放入特定基线中,以确保与以前该STMT具有相同的访问路径。如果该参数被激活,那么在计算SQL执行计划时,Oracle将判断当前优化器计算结果是否与选择基线中的计划相同,如果相同,则将使用基线中对该SQL的计划,但是如果它们不相同,将使用优化器算出的计划。

OPTIMIZER_USE_SQL_PLAN_BASELINES参数的正确设置非常重要,因为它用于控制Oracle管理SQL执行计划的方式。这个参数可以在参数文件中设置,也可以在会话级别设置。
默认情况下,此参数被设置为FALSE,这意味着在计算SQL计划时,Oracle不会对基线中的计划进行比较,将使用优化器算出的计划作为结果。此外,在应用某种补丁或变更数据库或查询参数时,应设置此参数为TRUE,以确保系统返回可预测的结果。但是,谨慎地设置该参数,因为此操作有可能导致无法预料的结果。

官方英文解释

OPTIMIZER_USE_SQL_PLAN_BASELINES enables or disables the use of SQL plan baselines stored in SQL Management Base.

Property Description

Parameter type

Boolean

Default value

true

Modifiable

ALTER SESSION, ALTER SYSTEM

Modifiable in a PDB

Yes

Range of values

true | false

Basic

No

When enabled, the optimizer looks for a SQL plan baseline for the SQL statement being compiled. If one is found in SQL Management Base, then the optimizer will cost each of the baseline plans and pick one with the lowest cost.

See Also:

  • Oracle Database SQL Tuning
    Guide
    for information on enabling automatic initial plan capture

  • Oracle Database SQL Tuning
    Guide
    for information about configuring the capture and use of SQL plan baselines


数据运维技术 » Oracle 参数 OPTIMIZER_USE_SQL_PLAN_BASELINES 官方解释,作用,如何配置最优化建议