查询中的一个哈希值是否可以在oracle中具有不同的执行计划

时间:2015-01-02 10:13:22

标签: sql oracle

查询中的一个哈希值是否可以在oracle中具有不同的执行计划。

因为我很困惑oracle如何生成特定查询的哈希值。

请您详细解释一些例子。因为我在这个概念中相对较新。

1 个答案:

答案 0 :(得分:1)

警告:这是我的理解。今天晚些时候,我将发布一份工作证明(但现在不是)


计划与子游标相关联,子游标是语句的运行实例。

考虑会话A通过执行存储过程触发长时间运行的查询的情况。

如果会话B在该查询中的表上收集新的统计信息然后执行存储过程,则优化程序将重新评估该查询,并且新的统计信息可能会导致它选择不同的计划。因此,父查询的HASH_VALUE将在the V$SQL_PLAN view中有多个PLAN_HASH_VALUE。