Trafodion 增量更新统计信息

在前一篇文章中,http://blog.csdn.net/post_yuan/article/details/74375294, 我们已经介绍过如何使用一个单独的样例表来更新统计信息。使用样例表进一步可以做增量数据统计信息的更新。在新的版本中,Trafodion有一套增量更新统计信息的策略,避免用户自己单独创建样例表+CQD的方式来做增量更新统计信息。关于增量更新统计信息介绍,可参考Trafodion官网:http://trafodion.incubator.apache.org/docs/sql_reference/index.html#update_statistics_incremental_update_statistics

本文在此通过实际案例介绍如何实现增量更新统计信息,主要步骤分为两步,
1 第一次更新统计信息时,选择一个适合的比例决定在多少随机数据集上面更新统计信息
备注:x的值依据目标表的数量而定,一般依据是样例数据不少于1百万,假如目标表为10亿,那么x的值可以设置为0.1,因为10亿*0.1 %=1百万

update statistics for table table_name on every column sample random <x> percent persistent;

2 之后每一次更新统计信息时,根据增量字段使用以下语法做增量更新
备注:比如表address只会在state = ‘CA’有数据更新,where后面可以添加这个条件

update statistics for table table_name on existing/necessary columns incremental where <predicate>;

下面是一个实际的测试场景,

SQL>update statistics for table eboxdata_30m on every column sample random 1 percent persistent;

--- SQL operation complete.


Start Time             2017/07/06 16:16:25.171142
End Time               2017/07/06 16:17:24.848758
Elapsed Time                      00:00:59.677616
Compile Time                      00:00:00.001832
Execution Time                    00:00:59.675606

SQL>update statistics for table eboxdata_30m on existing column incremental where eid > 30000000;

--- SQL operation complete.


Start Time             2017/07/06 16:21:36.036327
End Time               2017/07/06 16:23:34.924664
Elapsed Time                      00:01:58.888337
Compile Time                      00:00:00.001772
Execution Time                    00:01:58.886391

注:update statistics …persistent对一个特定的表只在第一个更新统计信息的时候做,不可重复做,因为带persistent时会创建一个样例表,如果需要重复执行persistent,需要先删除样例表,

SQL>update statistics for table eboxdata_30m on every column sample random 1 percent persistent;

*** ERROR[9251] A persistent sample table already exists. Use UPDATE STATISTICS ... REMOVE SAMPLE to drop it first if desired. [2017-07-06 16:15:30]

SQL>update statistics for table eboxdata_30m remove sample;

--- SQL operation complete.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据源的港湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值