作者:胡呈清,爱可生交付团队DBA,OBCE,擅长故障分析、性能优化。个人博客:[简书 | 轻松的鱼],[微信公众号 | 澄清一下],欢迎关注与讨论。
爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
本文约 600 字,预计阅读需要 3 分钟。
OceanBase V3 版本中保存统计信息的系统表比较混乱,主要原因是 V3 版本合并收集的统计信息和手工收集的统计信息有区别,需要存在不同的系统表中。到了 V4 版本,每日合并不再收集统计信息,保存统计信息的系统表得到了统一。
本文主要目的是厘清 V3 版本查询统计信息的最佳方式,同时介绍一下 V4 版本相比 V3 版本统计信息的主要改变:
为了更好的说明 V3 版本统计信息的特点,本文先从 V3 版本的角度来总结 sys 租户、MySQL 租户、Oracle 租户中系统表的作用。先说结论:
__all_table_stat_v2
、__all_column_stat_v2
、__all_histogram_stat_v2
查看手工收集的统计信息;ALL_TAB_STATISTICS
、ALL_TAB_COL_STATISTICS
、ALL_TAB_HISTOGRAMS
查看手工收集的统计信息。sys 租户下统计信息的相关表:
MySQL 租户下统计信息的相关表:
Oracle 租户下统计信息的相关表比较简单,和原生 Oracle 保持一致:
在 V4 版本中,统计信息的保存基本得到统一,同样建议在业务租户下查看收集的统计信息。
表级统计信息:
列级统计信息:
直方图统计信息: