Info
Ma question concerne une table modérément grande (~ 40 Go d'espace de données) qui est un tas
(malheureusement, je ne suis pas autorisé à ajouter un index clusterisé à la table par les propriétaires d'application)
Une statistique créée automatiquement sur une colonne d'identité ( ID
) a été créée, mais elle est vide.
- Les statistiques de création automatique et de mise à jour automatique sont activées
- Des modifications ont eu lieu dans le tableau
- Il existe d'autres statistiques (créées automatiquement) qui sont mises à jour
- Il existe une autre statistique sur la même colonne créée par un index (en double)
- Construire: 12.0.5546
La statistique en double est mise à jour:
La vraie question
À ma connaissance, toutes les statistiques pourraient être utilisées et les modifications sont suivies, même s'il existe deux statistiques sur exactement les mêmes colonnes (doublons), alors pourquoi cette statistique reste-t-elle vide?
Infos statistiques
Informations sur les statistiques DB
Taille de la table
Informations sur la colonne sur lesquelles la statistique est créée
[ID] [int] IDENTITY(1,1) NOT NULL
Colonne d'identité
select * from sys.stats
where name like '%_WA_Sys_0000000A_6B7099F3%';
Obtenir des informations sur une autre statistique
select * From sys.dm_db_stats_properties (1802541555, 3)
En comparaison avec ma stat vide:
Stats + Histogramme de "générer des scripts":
/****** 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
Lors de la création d'une copie des statistiques, aucune donnée n'est à l'intérieur
CREATE STATISTICS [_WA_Sys_0000000A_6B7099F3_TEST] ON [dbo].[table]([ID]) WITH STATS_STREAM = 0x01000000010000000000000000000000EC03686B0000000040000000000000000000000000000000380348063800000004000A00000000000000000000000000
Lors de la mise à jour manuelle des statistiques, ils sont mis à jour.
UPDATE STATISTICS [dbo].[Table]([_WA_Sys_0000000A_6B7099F3_TEST])