使用 CREATE TABLE 语句的 Statistics 选项子句设置已分片表或未分片表的 STATCHANGE 属性的值,和已分片表的 STATLEVEL 属性。
这些表属性控制自动重新计算(STATCHANGE)的阈值和数据分布统计信息的粒度(STATLEVEL)。
元素 | 描述 | 限制 | 语法 |
---|---|---|---|
change_ threshold | 定义过时分布统计信息的已更改数据的百分比 | 必须是 0 - 100 之间的整数 | 文字的数值 |
Statistics 选项子句可定义在 SQL 语句以 LOW 、MEDIUM 或 HIGH 方式运行下,允许用户控制 UPDATE STATISTICS 行动的表统计信息属性。
Statistics 选项子句可以设置的两个表属性为 STATCHANGE 和 STATLEVEL :
STATCHANGE 表属性指定需要考虑统计信息过时的变更(来自自上次重新计算分布统计信息表中或分片中对行的 UPDATE \DELETE \MERGE 和 INSERT 操作)的最小百分比。可以指定 0 - 100 范围内的整数或者使用 AUTO 关键字将 ONCONFIG 文件中或会话环境中当前的 STATCHANGE 配置参数作为缺省更改的阈值。
当启用自动方式时,UPDATE STATISTICS 语句使用显式或缺省的 STATCHANGE 值来标识统计信息丢失或过时的表、索引或分布,以及只是统计信息丢失或过时的更改。有关 UPDATE STATISTICS 操作的自动方式的更多信息,请参阅 GBase 8s 管理员参考中关于 AUTO_STAT_MODE 配置参数的描述。另见 AUTO_STAT_MODE 环境选项 和 使用 FORCE 和 AUTO 关键字.
这些属性总是应用。如果 STATLEVEL 设置是 AUTO ,则该设置重写缺省值。
如果您使用 Statistics 选项子句将 STATLEVEL 属性设置为 FRAGMENT,则当以下任一条件为真时,数据库服务器返回错误: