Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2012 (11.x) e versões
posteriores Azure SQL Managed Instance
Fornece informação de índice agrupado de columnstore por segmento para ajudar o administrador a tomar decisões de gestão do sistema. sys.column_store_row_groups tem uma coluna para o número total de linhas fisicamente armazenadas (incluindo aquelas marcadas como eliminadas) e uma coluna para o número de linhas marcadas como eliminadas. Use sys.column_store_row_groups para determinar quais os grupos de linhas que têm uma alta percentagem de linhas eliminadas e que devem ser reconstruídas.
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
| object_id | int | O id da tabela onde este índice está definido. |
| index_id | int | ID do índice da tabela que contém este índice de colonstore. |
| partition_number | int | ID da partição da tabela que contém o grupo de linhas row_group_id. Pode usar partition_number para ligar este DMV às sys.partitions. |
| row_group_id | int | O número do grupo de linhas associado a este grupo de linhas. Isto é único dentro da partição. -1 = cauda de uma tabela em memória. |
| delta_store_hobt_id | bigint | O hobt_id para o grupo de filas OPEN na loja delta. NULL se o grupo de linhas não estiver na loja delta. NULL para a cauda de uma tabela em memória. |
| state | tinyint | Número de identificação associado ao state_description. 0 = INVISIBLE 1 = ABERTO 2 = ENCERRADO 3 = COMPRIMIDO 4 = LÁPIDE |
| state_description | Nvarchar(60) | Descrição do estado persistente do grupo das linhas: INVISIBLE -A segmento comprimido oculto em processo de construção a partir de dados numa loja delta. As ações de leitura utilizam o armazenamento delta até que o segmento invisível comprimido esteja concluído. Depois, o novo segmento é tornado visível e o armazenamento delta de origem é removido. OPEN - Um grupo de linhas de leitura/escrita que está a aceitar novos registos. Um grupo de linhas abertas ainda está em formato de rowstore e não foi comprimido para o formato columnstore. CLOSED - Um grupo de filas que foi preenchido, mas ainda não comprimido pelo processo de mover de tuplas. COMPRIMIDO - Um grupo de filas que está preenchido e comprimido. |
| total_rows | bigint | O total das linhas está fisicamente armazenado no grupo de linhas. Alguns podem ter sido eliminados, mas ainda estão guardados. O número máximo de linhas num grupo de linhas é 1.048.576 (FFFFF hexadecimal). |
| deleted_rows | bigint | Total de linhas no grupo de linhas marcado como eliminado. Isto é sempre 0 para grupos de linhas DELTA. |
| size_in_bytes | bigint | Tamanho em bytes de todos os dados deste grupo de linhas (excluindo metadados ou dicionários partilhados), tanto para os grupos de linhas DELTA como COLUMNSTORE. |
Observações
Devolve uma linha para cada grupo de linhas columnstore para cada tabela que tenha um índice de columnstore agrupado ou não clusterizado.
Use sys.column_store_row_groups para determinar o número de linhas incluídas no grupo de linhas e o tamanho do grupo.
Quando o número de linhas eliminadas num grupo de linhas cresce para uma grande percentagem do total de linhas, a tabela torna-se menos eficiente. Reconstrua o índice columnstore para reduzir o tamanho da tabela, diminuindo a I/O do disco necessária para ler a tabela. Para reconstruir o índice da columnstore, use a opção REBUILD da instrução ALTER INDEX .
A loja de colunas atualizável insere primeiro novos dados num grupo de linhas ABERTO , que está em formato de loja de linhas, e é também por vezes referido como tabela delta. Quando um grupo de linhas aberto está cheio, o seu estado muda para FECHADO. Um grupo de linhas fechado é comprimido em formato de armazenamento de colunas pelo mover de tuplas e o estado muda para COMPRIMIDO. O tuple mover é um processo em segundo plano que periodicamente desperta e verifica se existem grupos de linhas fechados prontos para comprimir num grupo de linhas de column store. O mover de tuplas também desaloca quaisquer grupos de linhas em que todas as linhas tenham sido eliminadas. Os grupos de linhas desalocados são marcados como TOMBSTONE. Para executar imediatamente o tuple mover, use a opção REORGANIZE da instrução ALTER INDEX .
Quando um grupo de linhas de colonstore está preenchido, é comprimido e deixa de aceitar novas linhas. Quando as linhas são eliminadas de um grupo comprimido, permanecem mas são marcadas como eliminadas. As atualizações de um grupo comprimido são implementadas como uma eliminação do grupo comprimido e uma inserção para um grupo aberto.
Permissions
Devolve informação para uma tabela se o utilizador tiver VIEW DEFINITION permissão sobre a tabela.
A visibilidade dos metadados nas visualizações de catálogo é limitada aos itens de segurança que um utilizador possui ou nos quais o utilizador recebeu alguma permissão. Para obter mais informações, consulte Configuração de visibilidade de metadados.
Examples
O exemplo seguinte une a tabela sys.column_store_row_groups a outras tabelas do sistema para devolver informação sobre tabelas específicas. A coluna calculada PercentFull é uma estimativa da eficiência do grupo de linhas. Para encontrar informação numa única tabela, remova os hífenes de comentário à frente da cláusula WHERE e forneça um nome da tabela.
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 também
Exibições do catálogo de objetos (Transact-SQL)
Visualizações do catálogo (Transact-SQL)
Consultando o catálogo do sistema do SQL Server
sys.columns (Transact-SQL)
sys.all_columns (Transact-SQL)
sys.computed_columns (Transact-SQL)
Guia de Índices de Columnstore
sys.column_store_dictionaries (Transact-SQL)
sys.column_store_segments (Transact-SQL)