每日一练(9)

判断题
在OB中,sql_id能够唯一标识一条参数化之后的sql,所以在gv$plan_cache_plan_stat这张表中,sql_id是唯一的,也就是说不可能出现两条记录包含相同的sql_id.
正确
错误

错误

1 个赞

错误

1 个赞

错误

1 个赞

答案:错误

解析:

Oceanbase会在ObServer中为每个租户维护一个执行计划缓存(plan cache), all_virtual_plan_ cache_stat记录所有ObServer上租户的plan cache的统计信息。在启用plan cache的情况下,Oceanbase会将sql进行参数化,即每一类sql对应一个plan cache项,比如select * from ta where a =和 select * from ta wherea=5虽然是不同的sql,但参数化以后的形式是一样的,均为select*from ta where a=?,类似形式的sql都会命中该计划。但参数化结果相同的sql可能对应不同的执行计划(计划类型可能不同)。

1 个赞