在 Oracle 中,你可以使用 "Outline"(大纲)或 "SQL Plan Management"(SQL 计划管理)等方法来稳定(固定)执行计划。
使用 Outline 稳定执行计划:
-
生成 Outline:
- 使用
DBMS_OUTLN.CREATE_OUTLINE
过程生成大纲。大纲是一组提示,可以指导优化器选择特定的执行计划。
- 使用
-
应用 Outline:
- 使用
ALTER SESSION
或ALTER SYSTEM
命令应用大纲,使之成为会话或系统级别的提示。 - 例如:
ALTER SESSION SET USE_PRIVATE_OUTLINES = TRUE;
- 使用
使用 SQL Plan Management 稳定执行计划:
-
收集执行计划:
- 使用
DBMS_SQLTUNE
包中的CREATE_SQL_PROFILE
过程,或者使用 SQL Performance Analyzer 工具,收集 SQL 语句的执行计划。
- 使用
-
创建 SQL Profile:
- 使用
DBMS_SQLTUNE
包中的CREATE_SQL_PROFILE
过程为 SQL 语句创建 SQL Profile,该 Profile 包含了建议的执行计划信息。
- 使用
-
启用 SQL Plan Baseline:
- 使用
DBMS_SPM
包中的过程,启用 SQL Plan Baseline,确保 Oracle 在 SQL 语句的执行计划中选择最佳的计划。
- 使用
这两种方法都有助于稳定执行计划,但具体选择取决于你的需求和环境。使用 Outline 需要更多的手动管理,而 SQL Plan Management 利用自动任务进行管理,更加自动化。
Was this helpful?
0 / 0