关于Greenplum数据库中的数据库统计信息

您所在的位置:网站首页 数据库计数函数如何用来计相同行的数据 关于Greenplum数据库中的数据库统计信息

关于Greenplum数据库中的数据库统计信息

2024-06-29 09:51| 来源: 网络整理| 查看: 265

分析分区表

当ANALYZE命令被运行在一个分区表上时,它会逐个分析每一个叶子层子分区。 用户可以只在新的或者更改过的分区表上运行ANALYZE以避免分析没有变化过的分区。

analyzedb命令行工具会自动跳过未更改的分区。它还会运行并发会话,这样它可以并发地分析几个分区。 默认它会运行五个会话,但会话的数量可以用-p命令行选项设置为1至10。 analyzedb每次运行时,它会在Master数据目录中的db_analyze目录下为追加优化表和分区保存状态信息。 下一次它运行时,analyzedb会把每个表的当前状态与其保存状态相比较,并且跳过没有更改的表或分区。堆表总是会被分析。

如果GPORCA被启用(默认),用户还需要运行ANALYZE ROOTPARTITION来刷新根分区的统计信息。 GPORCA要求在分区表根层的统计信息。传统优化器不使用这些统计信息。

分析分区表的时间类似于分析具有相同数据的非分区表的时间,因为ANALYZE ROOTPARTITION不收集叶分区上的统计信息(仅对数据进行采样)。 analyzedb工具默认会更新根分区统计信息

Greenplum数据库服务器配置参数optimizer_analyze_root_partition会影响何时在分区表的根分区上收集统计信息。 如果参数为on(缺省值),则在运行ANALYZE时,不需要ROOTPARTITION关键字来收集根分区的统计信息。 在根分区上运行ANALYZE时,或者在分区表的子叶子分区上运行ANALYZE并且其他子叶子分区具有统计信息时,将收集根分区统计信息。 如果参数关闭,则必须运行ANALYZE ROOTPARTITION以收集根分区统计信息。

如果您不打算使用GPORCA对分区表执行查询(将服务器配置参数optimizer设置为关闭), 则还可以将服务器配置参数optimizer_analyze_root_partition设置为off,以限制ANALYZE更新根分区统计信息的时间。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3