信息
我的问题与堆有关的中等大表(〜40GB数据空间)有关
(不幸的是,应用程序所有者不允许我将聚集索引添加到表中)
在“标识”列(ID
)上创建了自动创建的统计信息,但为空。
- 自动创建统计信息和自动更新统计信息处于启用状态
- 表格中发生了修改
- 还有其他(自动创建的)统计信息正在更新
- 由索引创建的同一列上还有另一个统计信息(重复)
- 内部版本:12.0.5546
实际问题
据我了解,即使在完全相同的列(重复项)上有两个统计信息,也可以使用所有统计信息并跟踪修改,所以为什么这个统计信息仍然为空?
统计信息
数据库统计信息
桌子尺寸
创建统计信息的列信息
[ID] [int] IDENTITY(1,1) NOT NULL
身份栏
select * from sys.stats
where name like '%_WA_Sys_0000000A_6B7099F3%';
获取其他统计信息
select * From sys.dm_db_stats_properties (1802541555, 3)
与我的空状态相比:
来自“生成脚本”的统计信息和直方图:
/****** Object: Statistic [_WA_Sys_0000000A_6B7099F3] Script Date: 2/1/2019 10:18:19 AM ******/
CREATE STATISTICS [_WA_Sys_0000000A_6B7099F3] ON [dbo].[table]([ID]) WITH STATS_STREAM = 0x01000000010000000000000000000000EC03686B0000000040000000000000000000000000000000380348063800000004000A00000000000000000000000000
创建统计信息副本时,内部没有数据
CREATE STATISTICS [_WA_Sys_0000000A_6B7099F3_TEST] ON [dbo].[table]([ID]) WITH STATS_STREAM = 0x01000000010000000000000000000000EC03686B0000000040000000000000000000000000000000380348063800000004000A00000000000000000000000000
手动更新统计信息时,它们确实会更新。
UPDATE STATISTICS [dbo].[Table]([_WA_Sys_0000000A_6B7099F3_TEST])