【发布时间】:2019-01-31 12:38:56
【问题描述】:
我有一个包含 7409825 行的表和一个非聚集列存储索引。我正在使用 dmv sys.dm_db_column_store_row_group_physical_stats 检查已删除的行。当我对表发出删除命令并从 dmv 检查列 deleted_rows 时,它始终为零。
它不应该在该列上显示一些值吗?我在读到列存储索引上的行没有被删除,而是被标记为删除,它们应该出现在 sys.dm_db_column_store_row_group_physical_stats 的列 deleted_rows 上。
我在增量存储中没有行组,所有行组都在列存储中压缩。
我正在使用此代码检查已删除的行
SELECT OBJECT_NAME(CSRowGroups.object_id)as tab,
CSRowGroups.*
FROM sys.indexes AS i
INNER JOIN sys.objects o
ON (i.object_id = o.object_id)
INNER JOIN sys.dm_db_column_store_row_group_physical_stats AS CSRowGroups
ON i.object_id = CSRowGroups.object_id AND i.index_id = CSRowGroups.index_id
WHERE o.name = 'TableName'
【问题讨论】:
标签: sql-server sql-server-2016 columnstore