文档首页 > > 开发指南> 导入数据> 分析表

分析表

分享
更新时间: 2019/06/24 GMT+08:00

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

分析表

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

  1. 更新表统计信息。

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

表自动分析

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

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

  • 对于空表而言,当表中插入数据的行数大于50时,会触发表自动进行ANALYZE。
  • 对于表中已有数据的情况,阈值设定为50+10%*reltuples,其中reltuples是表的总行数。

autovacuum自动清理功能的生效还依赖于下面两个GUC参数:

  • track_counts 参数需要设置为on,表示开启收集收据库统计数据功能。
  • autovacuum_max_workers参数需要大于0,该参数表示能同时运行的自动清理线程的最大数量。
  • autoanalyze只支持默认采样方式,不支持百分比采样方式。
  • 多列统计信息仅支持百分比采样,因此autoanalyze不收集多列统计信息。
  • autoanalyze支持行存表和列存表,不支持外表、HDFS表、OBS外表、临时表、unlogged表和toast表。
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区