分析表
执行计划生成器需要使用表的统计信息,以生成最有效的查询执行计划,提高查询性能。因此数据导入完成后,建议执行ANALYZE语句生成最新的表统计信息。统计结果存储在系统表PG_STATISTIC中。
分析表
ANALYZE支持的表类型有行/列存表。ANALYZE同时也支持对本地表的指定列进行信息统计。下面以表的ANALYZE为例,更多关于ANALYZE的信息,请参见12.19.26ANALYZE | ANALYSE。
步骤1 更新表统计信息。
以表product_info为例,ANALYZE命令如下:
vastbase=# ANALYZE product_info;
ANALYZE
表自动分析
Vastbase提供了GUC参数 autovacuum 用于控制数据库自动清理功能的启动。
autovacuum设置为on时,系统定时启动autovacuum线程来进行表自动分析,如果表中数据量发生较大变化达到阈值时,会触发表自动分析,即autoanalyze。
对于空表而言,当表中插入数据的行数大于参数autovacuum_analyze_threshold时,会触发表自动进行ANALYZE。
对于表中已有数据的情况,阈值设定为参数表达式: autovacuum_vacuum_threshold+autovacuum_vacuum_scale_factor*reltuples,其中reltuples是表的总行数。
autovacuum自动清理功能的生效还依赖于下面两个GUC参数:
track_counts参数需要设置为on,表示开启收集收据库统计数据功能。
autovacuum_max_workers参数需要大于0,该参数表示能同时运行的自动清理线程的最大数量。