GV$OB_PLAN_CACHE_PLAN_STAT表中的数据间隔一段时间就没有了是什么原因?


GV$OB_PLAN_CACHE_PLAN_STAT表中的数据间隔一段时间就没有了是什么原因?

3 个赞

666

1 个赞

没明白

1 个赞

内存数据,有过期淘汰策略存在。

2 个赞

关于该视图所反映的 淘汰机制,实际上 Plan Cache 的淘汰是由 OceanBase 内部的内存管理机制控制的,而不是直接作用于该视图本身。淘汰机制主要涉及以下几点:

  1. 自动淘汰机制
  • 当 Plan Cache 占用的内存达到设定的高水位线(high watermark)时,系统会自动启动淘汰流程。
  • 淘汰的触发由系统参数 ob_plan_cache_evict_high_percentage 控制,默认为 90%,即当 Plan Cache 内存使用达到上限的 90% 时开始淘汰。
  • 淘汰过程持续进行,直到内存使用降至低水位线(low watermark),由 ob_plan_cache_evict_low_percentage 控制,默认为 50%。
  1. 淘汰策略
  • 通常采用 LRU(Least Recently Used)或类似的算法,优先淘汰最近最少使用的执行计划。
  • 淘汰过程中会释放内存,确保新的 SQL 计划可以被缓存。
  1. 相关系统表/视图
  • GV$OB_PLAN_CACHE_STAT:提供 Plan Cache 整体内存使用和淘汰状态的汇总信息。
  • GV$OB_PLAN_CACHE_PLAN_STAT:提供每条执行计划的详细统计,可用于判断哪些计划被频繁使用或已失效。
3 个赞

学习一下

1 个赞

[quote=“幽客, post:6, topic:35636253”]

  • GV$OB_PLAN_CACHE_STAT:提供 Plan Cache 整体内存使用和淘汰状态的汇总信息。
  • GV$OB_PLAN_CACHE_PLAN_STAT:提供每条执行计划的详细统计,可用于判断哪些计划被频繁使用或已失效。
    [/quote]有淘汰机制
2 个赞

别说视图了,连人吃了都会拉 :joy:

1 个赞

性能视图都有淘汰机制

1 个赞

学习了