首页 > 解决方案 > 为 Sql 语句使用 Sql Baseline

问题描述

我为特定的 Sql 语句创建 Sql 基线,我知道 Sql Profile 适用于特定的 Sql_Id 是否与 Sql Baseline 的方式相同

换句话说,如果每次执行时 sql 语句的 Sql_id 都发生了变化,那么 Sql Baseline 是否有助于使 oracle 使用特定的计划

标签: oraclebaseline

解决方案


SQL Profiles 可以适用于其他 sql_id,只要它们具有相同的 force_match_signature 并且您在接受 sql profile 命令中使用“force_match => true”。SQL 语句将具有相同的 force_match_signature 如果它们在说、替换变量或其他实际上并没有在语义上改变它的细微更改方面有所不同[粗略地说]。

SQL 计划基线仅适用于相同的确切 SQL_ID,并且只有当优化器可以在解析 SQL 时给定当前操作条件的情况下为该 SQL 生成 plan_hash_value 时。


推荐阅读