sys.column_store_row_groups (Transact-SQL)

Se aplica a: SQL Server 2012 (11.x) y versiones posteriores de Azure SQL Instancia administrada

Proporciona información del índice clúster de almacén de columnas una vez por segmento para ayudar al administrador a tomar decisiones de administración del sistema. sys.column_store_row_groups tiene una columna para el número total de filas almacenadas físicamente (incluidas las marcadas como eliminadas) y una columna para el número de filas marcadas como eliminadas. Use sys.column_store_row_groups para determinar qué grupos de filas tienen un alto porcentaje de filas eliminadas y se deben volver a generar.

Nombre de la columna Tipo de datos Descripción
object_id int El identificador de la tabla en el que se define este índice.
id_de_índice int Identificador del índice de la tabla que contiene este índice de almacén de columnas.
partition_number int Identificador de la partición de la tabla que contiene el grupo de filas row_group_id. Puede utilizar partition_number para unir esta DMV a sys.partitions.
row_group_id int El número de grupo de filas asociado con este grupo de filas. Es único en la partición.

-1 = cola de una tabla en memoria.
delta_store_hobt_id bigint El hobt_id para el grupo de filas OPEN en el almacén delta.

NULL si el grupo de filas no está en el almacén delta.

NULL para la cola de una tabla en memoria.
state tinyint Número de identificación asociado con el state_description.

0 = INVISIBLE

1 = OPEN

2 = CLOSED

3 = COMPRIMIDO

4 = TOMBSTONE
state_description nvarchar(60) Descripción del estado persistente del grupo de filas:

INVISIBLE: segmento comprimido oculto en el proceso de creación a partir de datos en un almacén delta. Las acciones de lectura utilizarán el almacén delta hasta que se complete el segmento comprimido invisible. Después, se hará visible el nuevo segmento y se quitará el almacén delta de origen.

OPEN: un grupo de filas de lectura y escritura que acepta nuevos registros. Un grupo de filas abierto está todavía en formato de almacén de filas y no se ha comprimido al formato de almacén de columnas.

CLOSED: un grupo de filas que se ha rellenado, pero aún no comprimido por el proceso de mover de tupla.

COMPRESSED: un grupo de filas que se ha rellenado y comprimido.
total_rows bigint Total de filas almacenadas físicamente en el grupo de filas. Es posible que se hayan eliminado algunas, pero estas se siguen almacenando. El número máximo de filas en un grupo de filas es 1.048.576 (hexadecimal FFFFF).
deleted_rows bigint Total de filas del grupo de filas marcadas como eliminadas. Esto es siempre 0 para los grupos de filas DELTA.
size_in_bytes bigint Tamaño en bytes de todos los datos de este grupo de filas (sin incluir metadatos o diccionarios compartidos), tanto para los grupos de filas DELTA como COLUMNSTORE.

Comentarios

Devuelve una fila para cada grupo de filas del almacén de columnas de cada tabla que tenga un índice clúster o no clúster de almacén de columnas.

Use sys.column_store_row_groups para determinar el número de filas incluidas en el grupo de filas y el tamaño del grupo de filas.

Cuando el número de filas eliminadas de un grupo de filas alcanza un alto porcentaje de las filas totales, la tabla pierde eficiencia. Vuelva a generar el índice de almacén de columnas para reducir el tamaño de la tabla, reduciendo así la E/S de disco necesaria para leer la tabla. Para volver a generar el índice de almacén de columnas, use la opción REBUILD de la instrucción ALTER INDEX .

El almacén de columnas actualizable inserta primero nuevos datos en un grupo de filas OPEN , que se encuentra en formato de almacén de filas y, a veces, también se conoce como una tabla delta. Una vez que un grupo de filas abierto está lleno, su estado cambia a CLOSED. Un grupo de filas cerrado se comprime en formato de almacén de columnas mediante el mover de tupla y el estado cambia a COMPRESSED. La tupla motriz es un proceso en segundo plano que de forma periódica se despierta y comprueba si hay grupos de filas cerrados listos para comprimirse en un grupo de filas de almacén de columnas. La tupla motriz también cancela la asignación de los grupos de filas en los que se han borrado todas las filas. Los grupos de filas desasignados se marcan como TOMBSTONE. Para ejecutar el mover de tupla inmediatamente, use la opción REORGANIZE de la instrucción ALTER INDEX .

Cuando se ha rellenado un grupo de filas de almacén de columnas, se comprime y ya no se aceptan filas nuevas. Cuando se eliminan filas de un grupo comprimido, siguen estando allí pero están marcadas como eliminadas. Las actualizaciones de un grupo comprimido se implementan como una eliminación del grupo comprimido, y como una inserción en un grupo abierto.

Permisos

Devuelve información de una tabla si el usuario tiene VIEW DEFINITION permiso en la tabla.

La visibilidad de los metadatos de las vistas de catálogo se limita a elementos protegibles que un usuario posee o en el que se concedió algún permiso al usuario. Para obtener más información, consulte Metadata Visibility Configuration.

Ejemplos

En el ejemplo siguiente se combina la tabla sys.column_store_row_groups a otras tablas del sistema para devolver información sobre tablas específicas. La columna PercentFull calculada es una estimación de la eficacia del grupo de filas. Para buscar información sobre una sola tabla, quite los guiones de comentario delante de la cláusula WHERE y proporcione un nombre de tabla.

SELECT i.object_id, object_name(i.object_id) AS TableName,   
i.name AS IndexName, i.index_id, i.type_desc,   
CSRowGroups.*,   
100*(total_rows - ISNULL(deleted_rows,0))/total_rows AS PercentFull    
FROM sys.indexes AS i  
JOIN sys.column_store_row_groups AS CSRowGroups  
    ON i.object_id = CSRowGroups.object_id  
AND i.index_id = CSRowGroups.index_id   
--WHERE object_name(i.object_id) = '<table_name>'   
ORDER BY object_name(i.object_id), i.name, row_group_id;  

Consulte también

Vistas de catálogo de objetos (Transact-SQL)
Vistas de catálogo (Transact-SQL)
Consultar las preguntas más frecuentes (P+F) del catálogo del sistema de SQL Server
sys.columns (Transact-SQL)
sys.all_columns (Transact-SQL)
sys.computed_columns (Transact-SQL)
Descripción de los índices de almacén de columnas
sys.column_store_dictionaries (Transact-SQL)
sys.column_store_segments (Transact-SQL)