对于大表,更新统计信息的操作通常也是很耗时的,下面是一些关于更新统计信息性能优化的方法,
1. 使用sample子句,语法为UPDATE STATISTICS FOR TABLE ON EVERY COLUMN SAMPLE;
2. 如果表上有很多列,部分列比较宽且在WHERE子句或GROUP BY子句不常用,可以在更新统计信息时跳过对这些列的统计信息更新操作。不要使用ON EVERY COLUMN,而是针对具体的列更新统计信息。通过cqd USTAT_AUTOMATION_INTERVAL设置一个大于0的数据,可以在编译查询语句时提示需要更新统计信息的字段,然后通过”ON NECESSARY COLUMNS”更新需要的统计信息。
3. 如果UPDATE STATISTICS执行超时(timeout),可以通过修改hbase.rpc.timeout和hbase.client.scanner.timeout.period解决。
4. 如果表上的字符型列越多,更新统计信息时间将会更长,因为创建/生成样例表的将会更耗时,可以尝试cqd USTAT_MIN_CHAR_UEC_FOR_IS ‘0.0’,默认值为0.2。
5. 使用UPDATE STATISTICS LOG ON;可以把更新统计信息相关日志保存在/home/trafodion/sqllogs/ULOG下面,用来做troubleshooting。
Trafodion性能优化之更新统计信息
最新推荐文章于 2021-05-02 19:31:15 发布