Oracle 参数 OPTIMIZER_ADAPTIVE_PLANS 官方解释,作用,如何配置最优化建议
本站中文解释
OPTIMIZER_ADAPTIVE_PLANS是Oracle中的一种优化器参数,它主要用于收集有关SQL语句执行情况的统计信息,并使用该统计信息来改进SQL查询的性能,从而使最佳执行计划可以更快地得到。
此参数有三个可用值,通常称为模式:TRUE,FALSE和OFF。
TRUE模式中,Oracle将自动收集统计信息(每100次执行)和应用更好的计划。
FALSE模式中,Oracle只会收集统计信息,但不应用更好的计划。
OFF模式中,Oracle无需自动收集统计信息,因此不会改变计划。要应用更好的计划,必须明确调用dbms_stats.gather_plans_statistics。
为了能够正确设置这个参数,管理员需要更好地了解应用对性能要求,以确定是否需要启用该参数,以及是TRUE模式还是FALSE模式,这取决于应用的需求。
如果确定需要启用OPTIMIZER_ADAPTIVE_PLANS,管理员可以使用SQL语句“alter system set OPTIMIZER_ADAPTIVE_PLANS=TRUE/FALSE;”或者脚本ALTER SYSTEM SET OPTIMIZER_ADAPTIVE_PLANS=TRUE/FALSE SCOPE=BOTH;来更新参数的值。管理员可以通过执行SELECT * FROM V$PARAMETER WHERE NAME=’OPTIMIZER_ADAPTIVE_PLANS’语句来查看参数的值。
官方英文解释
OPTIMIZER_ADAPTIVE_PLANS
controls adaptive plans. Adaptive plans are execution plans built with alternative choices that are decided at run time based on statistics collected as the query executes.
Property | Description |
---|---|
Parameter type |
Boolean |
Default value |
|
Modifiable |
|
Modifiable in a PDB |
Yes |
Range of values |
|
Basic |
No |
Oracle RAC |
The same value must be set on all instances |
Setting this parameter to false
disables the following adaptive features:
-
Nested loop join/hash join selection
-
Star transformation bitmap pruning
-
Adaptive parallel distribution method
See Also:
Oracle Database SQL Tuning
Guide for information about adaptive plans