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;