自动采集数据( 实时收集统计信息功能对性能的影响最低)

优采云 发布时间: 2022-03-20 09:33

  自动采集数据(

实时收集统计信息功能对性能的影响最低)

  了解异步采集和实时采集统计信息

  启用实时统计信息采集后,一些元数据也可用于生成统计信息。生成意味着派生或创建统计数据,而不是作为正常 RUNSTATS 活动的一部分采集统计数据。例如,如果您知道表格中的行数、页面大小和平均行宽,您就可以知道表格中收录的行数。在某些情况下,统计数据实际上不是派生的,而是由索引和数据管理器维护的,并且可以直接存储在目录中。例如,索引管理器将维护每个索引中的叶页数和级别。

  查询优化器根据查询要求和表更新活动量(更新、插入或删除操作的数量)确定如何采集统计信息。

  实时统计功能可以提供更及时准确的统计数据。准确的统计数据可以带来更好的查询执行计划和改进的性能。不开启实时统计时,每两小时执行一次异步统计操作。此采集可能不够频繁,无法为某些应用程序提供准确的统计信息。

  启用实时统计采集后,仍将每两小时执行一次异步采集统计检查。实时统计采集功能还会在以下情况下导致异步采集请求:

  最多可以同时处理两个异步请求,但它们必须针对不同的表进行处理。一个请求必须由实时采集统计功能发起,另一个请求必须由异步采集统计检查操作发起。

  可以使用以下方法将自动统计信息采集的性能影响降至最低:

  尽管实时统计信息采集功能旨在最大限度地减少采集统计信息的开销,但请先在测试环境中尝试此功能,以确保不会对性能产生负面影响。将此功能用于某些在线事务处理 (OLTP) 场景可能会对性能产生负面影响,尤其是在查询运行时存在上限的情况下。

  对常规表、物化查询表 (MQT) 和全局临时表执行实时同步统计信息采集操作。不会为全局临时表采集异步统计信息。自动维护策略工具无法将全局临时表排除在实时统计之外。

  不会对以下对象执行自动统计信息采集(同步或异步):

  不会为以下对象生成统计信息:

  在分区数据库环境中,会采集统计信息,然后对单个数据库分区进行推测。数据库管理器始终采集有关数据库分区组的第一个数据库分区的统计信息(同步和异步)。

  在数据库激活后至少 5 分钟才会执行非实时统计信息采集活动。

  对静态和动态 SQL 进行实时统计处理。

  使用 IMPORT 命令截断的表会自动重新组织以具有旧的统计信息。

  同步和异步自动统计信息采集操作将使引用那些表的缓存动态语句无效,这些表已经采集了统计信息。这样做是为了可以使用最新的统计信息重新优化缓存的动态语句。

  当数据库被停用时,“自动异步采集统计信息”操作可能会被中断。如果未使用 ACTIVATE DATABASE 命令或 API 显式激活数据库,则当最后一个用户与数据库断开连接时,数据库将被停用。如果操作被中断,错误消息可能会记录在 DB2 诊断日志文件中。为避免中断“自动异步采集统计信息”操作,请显式激活此数据库。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线