sys.dm_db_column_store_row_group_operational_stats (Transact-SQL)
适用于:SQL Server 2016 (13.x) 及更高版本 Azure SQL 数据库 Azure SQL 托管实例
返回列存储索引中压缩行组的当前行级别 I/O、锁定和访问方法活动。 使用 sys.dm_db_column_store_row_group_operational_stats 跟踪用户查询必须等待读取或写入列存储索引的压缩行组或分区的时间长度,并确定遇到重大 I/O 活动或热点的行组。
内存中列存储索引不在此 DMV 中显示。
列名称 | 数据类型 | 说明 |
---|---|---|
object_id | int | 具有列存储索引的表的 ID。 |
index_id | int | columnstore 索引的 ID。 |
partition_number | int | 索引或堆中从 1 开始的分区号。 |
row_group_id | int | 列存储索引中的行组的 ID。 这在分区中是唯一的。 |
scan_count | int | 自上次 SQL 重启以来,通过行组进行的扫描数。 |
delete_buffer_scan_count | int | 删除缓冲区用于确定此行组中已删除的行的次数。 这包括访问内存中哈希表和基础 B 树。 |
index_scan_count | int | 扫描列存储索引分区的次数。 这与分区中的所有行组相同。 |
rowgroup_lock_count | bigint | 自上次 SQL 重启以来,此行组的锁定请求的累积计数。 |
rowgroup_lock_wait_count | bigint | 自上次 SQL 重启以来,数据库引擎在此行组锁上等待的累积次数。 |
rowgroup_lock_wait_in_ms | bigint | 自上次 SQL 重启以来,数据库引擎在此行组锁上等待的累积毫秒数。 |
注意
文档在提到索引时一般使用 B 树这个术语。 在行存储索引中,数据库引擎实现了 B+ 树。 这不适用于列存储索引或内存优化表上的索引。 有关详细信息,请参阅 SQL Server 以及 Azure SQL 索引体系结构和设计指南。
权限
需要下列权限:
对由object_id指定的表的 CONTROL 权限。
使用对象通配符 @object_id = NULL 返回数据库中所有对象的相关信息的 VIEW DATABASE STATE 权限
授予 VIEW DATABASE STATE 权限允许返回数据库中的所有对象,而不考虑对特定对象拒绝的任何 CONTROL 权限。
拒绝 VIEW DATABASE STATE 将禁止返回数据库中的所有对象,而不管对特定对象授予的任何 CONTROL 权限。 此外,当指定数据库通配符 @database_id=NULL 时,将省略数据库。
有关详细信息,请参阅动态管理视图和函数(Transact-SQL)。
SQL Server 2022 及更高版本的权限
需要对数据库拥有 VIEW DATABASE PERFORMANCE STATE 权限。
另请参阅
动态管理视图和函数 (Transact-SQL)
索引相关的动态管理视图和函数 (Transact-SQL)
监视和优化性能
sys.dm_db_index_physical_stats (Transact-SQL)
sys.dm_db_index_usage_stats (Transact-SQL)
sys.dm_os_latch_stats (Transact-SQL)
sys.dm_db_partition_stats (Transact-SQL)
sys.allocation_units (Transact-SQL)
sys.indexes (Transact-SQL)