ITPub博客

首页 > 数据库 > 数据库开发技术 > openGauss学习笔记-172 openGauss 数据库运维-备份与恢复-导入数据-分析表

openGauss学习笔记-172 openGauss 数据库运维-备份与恢复-导入数据-分析表

原创 数据库开发技术 作者:shuchaoyang 时间:2023-09-21 07:00:00 0 删除 编辑

openGauss学习笔记-172 openGauss 数据库运维-备份与恢复-导入数据-分析表172.1 分析表172.2 表自动分析

openGauss学习笔记-172 openGauss 数据库运维-备份与恢复-导入数据-分析表

执行计划生成器需要使用表的统计信息,以生成最有效的查询执行计划,提高查询性能。因此数据导入完成后,建议执行ANALYZE语句生成最新的表统计信息。统计结果存储在系统表PG_STATISTIC中。

172.1 分析表

ANALYZE支持的表类型有行/列存表。ANALYZE同时也支持对本地表的指定列进行信息统计。下面以表的ANALYZE为例,更多关于ANALYZE的信息,请参见ANALYZE | ANALYSE。

更新表统计信息。

以表product_info为例,ANALYZE命令如下:

ANALYZE product_info;
ANALYZE

172.2 表自动分析

openGauss提供了GUC参数autovacuum用于控制数据库自动清理功能的启动。

autovacuum设置为on时,系统定时启动autovacuum线程来进行表自动分析,如果表中数据量发生较大变化达到阈值时,会触发表自动分析,即autoanalyze。

  • 对于空表而言,当表中插入数据的行数大于50时,会触发表自动进行ANALYZE。

  • 对于表中已有数据的情况,阈值设定为50+10%*reltuples,其中reltuples是表的总行数。

autovacuum可以进行表自动分析功能的生效还依赖于下面几个GUC参数:

  • track_counts参数需要设置为on,表示开启收集收据库统计数据功能。

  • autovacuum_max_workers参数需要大于0,该参数表示能同时运行的自动清理线程的最大数量。

  • autovacuum_mode参需要配置允许进行analyze。

须知:

  • autoanalyze只支持默认采样方式,不支持百分比采样方式。

  • 多列统计信息仅支持百分比采样,因此autoanalyze不收集多列统计信息。

  • autoanalyze支持行存表和列存表,不支持外表、临时表、unlogged表和toast表。


👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!


原文作者:超哥的IT私房菜;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
专注于IT系统集成、运维、架构二十年的IT职场老兵,拥有CCNA、OCA、OCP、PGCA、PGCE认证证书,公众号:超哥的IT私房菜,知识星球:超哥的IT私房菜,目前是多家IT厂商的咨询顾问。

注册时间:2021-08-27

  • 博文量
    552
  • 访问量
    303712