首批通过分布式安全可靠测评,为关键业务系统打造
关闭 plan cache 的情况下,_force_enable_plan_tracing(默认打开)也会导致 SQL 命中计划
更新时间:2026-05-14 09:21
当 plan cache 关闭(ob_enable_plan_cache = off)的情况,仍然存在部分 SQL 命中计划。
详细说明
OceanBase 数据库 V4.3.5 版本实现一种 Plan Cache 的自适应开启能力,为 TP 的 SQL 开启 Plan Cache,为 AP 的 SQL 关闭 Plan Cache,以获得整体更优的性能。为了支持 Plan Cache 的自适应的能力,新增加了如下几个参数。
| 参数 | 功能详解 | 默认值 |
|---|---|---|
| enable_adaptive_plan_cache | 开启 Plan Cache 自适应功能后,会自动根据 SQL 特征自动开启/关闭计划缓存。 | 默认值:False HTAP 场景:True OLTP 场景:False OLAP 场景:True |
| _pc_adaptive_min_exec_time_threshold | 该配置项用于控制启用自适应计划缓存的最小执行时间阈值,即在自适应计划缓存功能开启的情况下,执行时间超过该阈值的 SQL 才开启自适应计划缓存。 | 默认值:1s |
| _pc_adaptive_effectiveness_ratio_threshold | 该配置项用于控制启用自适应计划缓存的最小比率阈值,即在自适应计划缓存功能开启的情况下,计划执行时间/计划生成时间 大于等于该阈值才开启自适应计划缓存。 | 默认值:1s |
| _force_enable_plan_tracing | 该配置项用于控制在禁用计划缓存时是否启用计划跟踪。 | 默认值:True |
其中 _force_enable_plan_tracing 默认是开启的,当开启 _force_enable_plan_tracing 参数后,在关闭 Plan Cache 的情况下也会存在计划命中的情况。新生成的计划还是会加到 Plan Cahce 里,但是后续的 SQL 去 Plan Cache 里拿这个计划。
警告
修改 Plan Cache 的自适应的参数存在一定的风险,请勿擅自修改此类参数。如果需要修改,请联系 OceanBase 技术支持团队获得帮助。
适用版本
V4.3.5 GA(oceanbase-4.3.5.0-100000122024123020)及之后版本。