ALTER STATISTICS

说明

修改统计信息

语法

alter_statistics ::=

参数

statistics_name

要修改统计的名称。统计名必须符合标识符规则并且是一个合法有效的名称。

table

该统计基于的表名。

SCAN BY DEFAULT

指定按缺省的方式读取表中的行以更新统计信息。

SCAN BY FULL

指定应读取表中的所有行以更新统计信息。

SCAN BY PERCENT value

按指定比例的方法读取表中的行以更新统计信息。value是指定的比例,必须介于1到100之间。

SCAN BY MINVALUE value

按指定的最小数目对表中的行进行采样以更新统计信息。value是采样的最小数目,可以是从0到n的总行数。

NORECOMPUTE

指定应禁用统计的自动重新计算功能。如果指定了该选项,则即使表中的数据进行了更新,统计信息也不会自动更新。

注解

修改统计信息是指修改默认的统计方法,在调用create statistics生成一个统计时,需要指定统计默认采样方法以及自动更新等行为。但是当该统计默认方法不在合理时,用户不得不在执行update statistics命令时附加更合理的采样方式。这时,用户可以通过调用alter statistics命令来修改默认统计方法,使下次统计更新时更加快捷,简便。

示例

示例1: 修改统计的采样方式为全扫描

--  清理环境
DROP STATISTICS stat1 ON tab1;
DROP TABLE tab1 CASCADE;

--  创建表
CREATE TABLE tab1(a INT, b INT);

--  建立一个基于最少值采样方式的统计
CREATE STATISTICS stat1 ON tab1(a) SCAN BY MINVALUE 1000;


--  修改统计的采样方式为全扫描
ALTER STATISTICS stat1 on tab1 SCAN BY FULL;


--  删除统计和表
DROP STATISTICS stat1 ON tab1;
DROP TABLE tab1;