Sdílet prostřednictvím


sys.column_store_row_groups (Transact-SQL)

Platí na: SQL Server 2012 (11.x) a pozdější verze Azure SQL Managed Instance

Poskytuje indexové informace o clusterovaných columnstore na úrovni jednotlivých segmentů, aby administrátorovi pomohl při rozhodování o řízení systému. sys.column_store_row_groups má sloupec pro celkový počet fyzicky uložených řádků (včetně těch označených jako smazané) a sloupec pro počet řádků označených jako smazané. Použijte sys.column_store_row_groups k určení, které skupiny řádků mají vysoké procento smazaných řádků a měly by být znovu sestaveny.

Název sloupce Datový typ Description
object_id int ID tabulky, na které je tento index definován.
index_id int ID indexu tabulky, která obsahuje tento indexový úložek sloupců.
partition_number int ID tabulkové partition, která obsahuje skupinu řádků row_group_id. Můžete použít partition_number k připojení tohoto DMV k sys.partitions.
row_group_id int Číslo skupiny řádků přiřazené této skupině řádků. To je v rámci této části jedinečné.

-1 = ocasní část tabulky v paměti.
delta_store_hobt_id bigint hobt_id pro skupinu OPEN v obchodě Delta.

NULL, pokud skupina řádků není v delta store.

NULL pro konec tabulky v paměti.
state tinyint Identifikační číslo spojené s state_description.

0 = NEVIDITELNÉ

1 = OTEVŘENO

2 = UZAVŘENO

3 = KOMPRIMOVANÉ

4 = NÁHROBEK
state_description nvarchar(60) Popis trvalého stavu skupiny řádků:

INVISIBLE -A skrytý komprimovaný segment, který se vytváří z dat v delta úložišti. Čtení akcí bude používat delta úložiště, dokud nebude neviditelný komprimovaný segment dokončen. Poté je nový segment viditelný a zdrojové delta úložiště odstraněno.

OPEN – Skupina řádků pro čtení/zápis, která přijímá nové záznamy. Otevřená skupina řádků je stále ve formátu rowstore a nebyla komprimována do formátu columnstore.

UZAVŘENO – Skupina řádků, která byla vyplněna, ale ještě nebyla komprimována procesem přesouvání n-tic.

KOMPRIMOVANÉ – Skupina řádků, která byla vyplněna a komprimovaná.
total_rows bigint Celkový počet řádků je fyzicky uložen ve skupině řádků. Některé mohly být smazány, ale stále jsou uloženy. Maximální počet řádků ve skupině řádků je 1 048 576 (hexadecimální FFFFF).
deleted_rows bigint Celkový počet řádků ve skupině řádků označen jako smazaný. To je vždy 0 pro DELTA řádkové skupiny.
size_in_bytes bigint Velikost v bajtech všech dat v této skupině řádků (bez metadat nebo sdílených slovníků) pro řádkové skupiny DELTA i COLUMNSTORE.

Poznámky

Vrací jeden řádek pro každou skupinu řádků columnstore pro každou tabulku, která má indexovaný nebo nesclusterovaný columnstore.

Použijte sys.column_store_row_groups k určení počtu řádků zahrnutých ve skupině řádků a velikosti skupiny řádků.

Když počet smazaných řádků ve skupině řádků vzroste na velké procento z celkového počtu řádků, tabulka se stává méně efektivní. Přestavět index úložiště sloupců tak, aby se zmenšila velikost tabulky, čímž se snížila potřeba diskového I/O pro čtení tabulky. Pro obnovení indexu columnstore použijte možnost REBUILD v příkazu ALTER INDEX .

Aktualizovatelný columnstore nejprve vkládá nová data do skupiny řádků OPEN , která je ve formátu řádkového úložiště, a někdy se také označuje jako delta tabulka. Jakmile je otevřená řádková skupina plná, její stav se změní na UZAVŘENO. Uzavřená skupina řádků je komprimována do formátu columnstore pomocí n-ticového pohybu a stav se změní na COMPRESSED. N-ticový pohyb je proces na pozadí, který se pravidelně probouzí a kontroluje, zda existují uzavřené řádkové skupiny připravené ke kompresi do columnstore řádkové skupiny. N-ticový pohybovač také deassignuje všechny řádkové skupiny, ve kterých byl každý řádek smazán. Vyřazené řady jsou označeny jako TOMBSTONE. Pro okamžité spuštění pohybu n-tic použijte možnost REORGANIZE v příkazu ALTER INDEX .

Když se skupina řádků columnstore zaplní, je komprimována a přestává přijímat nové řádky. Když jsou řádky smazány z komprimované skupiny, zůstávají, ale jsou označeny jako smazané. Aktualizace komprimované skupiny jsou implementovány jako smazání z komprimované skupiny a vložení do otevřené skupiny.

Povolení

Vrací informace o tabulce, pokud má uživatel VIEW DEFINITION k ní oprávnění.

Viditelnost metadat v zobrazeních katalogu je omezena na položky, které uživatel vlastní, nebo na které má uživatel udělené určité oprávnění. Další informace naleznete v kapitole Konfigurace viditelnosti metadat.

Examples

Následující příklad spojuje sys.column_store_row_groups tabulku s ostatními systémovými tabulkami, aby vrátil informace o konkrétních tabulkách. Vypočítaný PercentFull sloupec je odhad efektivity skupiny řádků. Chcete-li najít informace o jedné tabulce, odstraňte pomlčky komentářů před klauzulí WHERE a uveďte název tabulky.

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;  

Viz také

zobrazení katalogu objektů (Transact-SQL)
zobrazení katalogu (Transact-SQL)
dotazování na nejčastější dotazy k katalogu systému SQL Server
sys.columns (Transact-SQL)
sys.all_columns (Transact-SQL)
sys.computed_columns (Transact-SQL)
Průvodce indexy columnstore
sys.column_store_dictionaries (Transact-SQL)
sys.column_store_segments (Transact-SQL)