oracle - 为 Sql 语句使用 Sql Baseline
问题描述
我为特定的 Sql 语句创建 Sql 基线,我知道 Sql Profile 适用于特定的 Sql_Id 是否与 Sql Baseline 的方式相同
换句话说,如果每次执行时 sql 语句的 Sql_id 都发生了变化,那么 Sql Baseline 是否有助于使 oracle 使用特定的计划
解决方案
SQL Profiles 可以适用于其他 sql_id,只要它们具有相同的 force_match_signature 并且您在接受 sql profile 命令中使用“force_match => true”。SQL 语句将具有相同的 force_match_signature 如果它们在说、替换变量或其他实际上并没有在语义上改变它的细微更改方面有所不同[粗略地说]。
SQL 计划基线仅适用于相同的确切 SQL_ID,并且只有当优化器可以在解析 SQL 时给定当前操作条件的情况下为该 SQL 生成 plan_hash_value 时。
推荐阅读
- java - Kafka Producer 应该重用还是短命?
- python - 如何使用 OpenCV 获取图像上某个点的坐标?
- javascript - 使用 javascript 验证并提交 html 表单所需的输入
- excel - 文本框事件更改后日期加起来错误
- mysql - 如何使用 XML 在 SQL 中将列默认值设置为今天的日期
- github - GitHub Actions 创建或更新 Git 标签
- python - 我无法在 Djnago-admin 中重新排序应用程序
- python - VDCP命令理解
- apache-kafka - Databricks:在数据框列中提供模式作为 from_avro 的参数
- r - 将 NA 值替换为 R 中前后行值的平均值