暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OB 运维 | OceanBase V3&V4 版本统计信息总结【建议收藏】

392

作者:胡呈清,爱可生交付团队DBA,OBCE,擅长故障分析、性能优化。个人博客:[简书 | 轻松的鱼],[微信公众号 | 澄清一下],欢迎关注与讨论。

爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

本文约 600 字,预计阅读需要 3 分钟。


OceanBase V3 版本中保存统计信息的系统表比较混乱,主要原因是 V3 版本合并收集的统计信息和手工收集的统计信息有区别,需要存在不同的系统表中。到了 V4 版本,每日合并不再收集统计信息,保存统计信息的系统表得到了统一。

本文主要目的是厘清 V3 版本查询统计信息的最佳方式,同时介绍一下 V4 版本相比 V3 版本统计信息的主要改变:

  1. 每日合并不再收集统计信息;
  2. Oracle 和 MySQL 租户都可以使用 DBMS_STATS 系统包收集统计信息,与 analyze 相比参数更多,使用更灵活,更推荐使用 DBMS_STATS 系统包来收集统计信息;
  3. 通过 JOB 每天定时收集统计信息(数据修改比例超过 10% 的表/分区才会收集,会收集存在数据倾斜列的直方图)。

1V3 版本的统计信息

为了更好的说明 V3 版本统计信息的特点,本文先从 V3 版本的角度来总结 sys 租户、MySQL 租户、Oracle 租户中系统表的作用。先说结论:

  • 不建议在 sys 租户下查看统计信息,只能查看合并收集的统计信息,无法查看手工收集的统计信息;
  • MySQL租户建议通过 __all_table_stat_v2
    __all_column_stat_v2
    __all_histogram_stat_v2
    查看手工收集的统计信息;
  • Oracle 租户通过 ALL_TAB_STATISTICS
    ALL_TAB_COL_STATISTICS
    ALL_TAB_HISTOGRAMS
    查看手工收集的统计信息。

sys 租户下统计信息的相关表:

MySQL 租户下统计信息的相关表:

Oracle 租户下统计信息的相关表比较简单,和原生 Oracle 保持一致:

2V4 版本的统计信息

在 V4 版本中,统计信息的保存基本得到统一,同样建议在业务租户下查看收集的统计信息。

表级统计信息:

列级统计信息:

直方图统计信息:

留言活动

留言区分享一个 OceanBase 统计信息使用技巧(注明版本及场景)。

文章发布 24h 内点赞最多的认真留言,获得《大智小技VI》一本。


本文关键字:#OceanBase# #统计信息#



一文讲透 OceanBase 单机版【建议收藏】
一文搞定 OceanBase 各级别数据量统计
如何有效使用 outline 功能?
OceanBase 4.X-2F1A 仲裁高可用方案初探
Oracle 中部分不兼容对象迁移到 OceanBase 的处理方式
一个关于 NOT IN 子查询的 SQL 优化案例
Join 估行不准选错执行计划该如何优化?
一个提升本地索引性能的 SQL 优化案例
一则 Oracle 迁移到 OB 后存储过程语法报错问题诊断案例


✨ Github:https://github.com/actiontech/sqle

📚 文档:https://actiontech.github.io/sqle-docs/

💻 官网:https://opensource.actionsky.com/sqle/

👥 微信群:请添加小助手加入 ActionOpenSource

🔗 商业支持:https://www.actionsky.com/sqle


微信扫描小程序码,进行在线咨询预约:



商业支持团队联系方式如下:

400-820-6580 13916131869 / 18930110869



文章转载自爱可生开源社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论