作为维护过程(MS SQL Server 2008)的一部分,我们需要截断然后重新填充一些表。重新填充的表中的大多数数据将与截断之前的数据相同(> 95%)。这是每晚进行的。
在重新填充之后,是否有必要更新表格中的统计数据,或者是否可以不那么经常地考虑新的/更新的数据?
提前致谢。
答案 0 :(得分:0)
数据库
无需更新自动更新的统计信息
CREATE TABLE T
(
number integer NOT NULL
);
INSERT INTO t
SELECT distinct number
FROM master..spt_values
WHERE number < 500
select 1 from t where number = 1
DBCC SHOW_STATISTICS (N'T', number) WITH STAT_HEADER, HISTOGRAM
truncate table t
insert into t
SELECT distinct number
FROM master..spt_values
WHERE number > 500;
select 1 from t where number > 1 and number <500
DBCC SHOW_STATISTICS (N'T', number) WITH STAT_HEADER, HISTOGRAM
编辑*数据库级别的自动更新应为ON(默认情况下为启用)