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

Oracle 19C 收集分区对象的增量统计信息--增量统计的目的

原创 Asher.HU 2021-02-04
1561

增量统计信息仅扫描更改的分区。通过从分区级别的统计信息派生全局统计信息来收集大型分区表的统计信息时,增量统计信息维护可提高性能。


增量统计的目的

在典型情况下,应用程序将数据加载到范围分区表的新分区中。当应用程序添加新分区并加载数据时,数据库必须收集新分区上的统计信息并保持全局统计信息为最新。

通常,数据仓库应用程序访问大型分区表。通常,这些表在日期列上进行分区,只有最近的分区会频繁进行DML更改。如果没有增量统计信息,则统计信息收集通常使用两次通过方法:

  1. 数据库扫描表以收集全局统计信息。

    对表进行全面扫描以收集全局统计信息可能会非常昂贵,具体取决于表的大小。当表添加分区时,GATHER_TABLE_STATS由于全局统计信息需要全表扫描因此执行时间更长即使只有一小部分分区更改,数据库也必须执行整个表的扫描。

  2. 数据库扫描已更改的分区以收集其分区级别的统计信息。

由于以下原因,增量维护为数据仓库应用程序提供了巨大的性能优势:

  • 数据库必须仅扫描一次该表,以收集分区统计信息并通过聚合分区级统计信息来导出全局统计信息。因此,数据库避免了不使用增量统计信息时需要进行两次完整扫描:一次扫描分区级别的统计信息,一次扫描全局级别的统计信息。
  • 在随后的统计信息收集中,数据库仅需要扫描过时的分区并更新其统计信息(包括概要)。数据库可以从新的分区统计信息中获取全局统计信息,从而节省了全表扫描。

使用增量统计信息时,数据库仍必须在将更改全局或表级统计信息的任何分区上收集统计信息。增量统计信息维护产生的统计信息与从头开始收集表统计信息的统计信息相同,但性能更好。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论