Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Poskytuje informace o indexu columnstore na základě jednotlivých segmentů.
Pro clusterované indexy columnstore obsahuje sloupec pro celkový počet fyzicky uložených řádků (včetně těch, sys.column_store_row_groups které jsou označené jako odstraněné) a sloupec pro počet řádků označených jako odstraněné. Slouží sys.column_store_row_groups k určení, které skupiny řádků mají vysoké procento odstraněných řádků a které se mají znovu vytvořit.
| Název sloupce | Datový typ | Description |
|---|---|---|
object_id |
int | ID tabulky, na které je tento index definován. |
index_id |
int | ID indexu columnstore. |
partition_number |
int | Oddíl tabulky, který obsahuje skupinu řádků identifikovanou uživatelem row_group_id. Slouží partition_number k připojení sys.partitions. |
row_group_id |
int | Číslo skupiny řádků přiřazené této skupině řádků. Toto číslo je v rámci oddílu jedinečné. -1 = konec tabulky optimalizované pro paměť. |
delta_store_hobt_id |
bigint | Skupina hobt_id řádků v rozdílovém OPEN úložišti.HODNOTA NULL, pokud skupina řádků není v rozdílovém úložišti. Hodnota NULL pro konec tabulky optimalizované pro paměť. |
state |
tinyint | Číslo popisující stav skupiny řádků. 0 = INVISIBLE1 = OPEN2 = CLOSED3 = COMPRESSED4 = TOMBSTONE |
state_description |
nvarchar(60) | Popis stavu skupiny řádků:INVISIBLE – Skrytý komprimovaný segment v procesu sestavení z dat v rozdílovém úložišti. Akce čtení používají rozdílové úložiště, dokud se nedokončí neviditelný komprimovaný segment. Poté je nový segment viditelný a zdrojové delta úložiště odstraněno.OPEN – Skupina řádků pro čtení a zápis, která přijímá nové řádky. Otevřená skupina řádků je stále ve formátu rowstore a není komprimovaná do formátu columnstore.CLOSED – Skupina řádků, která je vyplněna, ale ještě není komprimována procesem přesunutí řazené kolekce členů.COMPRESSED – Skupina řádků, která je vyplněná a komprimovaná. |
total_rows |
bigint | Celkový počet řádků je fyzicky uložen ve skupině řádků. Odstraněné řádky můžou být stále uložené. Maximální počet řádků ve skupině řádků je 1 048 576. |
deleted_rows |
bigint | Celkový počet řádků ve skupině řádků, které jsou označené jako odstraněné, ale zůstanou uložené. Tato hodnota je vždy 0 určená pro rozdílové skupiny řádků.U neclusterovaných indexů columnstore tato hodnota nezahrnuje odstraněné řádky uložené ve vyrovnávací paměti pro odstranění. Další informace a zjištění počtu odstraněných řádků v vyrovnávací paměti pro odstranění najdete v tématu sys.internal_partitions. |
size_in_bytes |
bigint | Velikost v bajtech všech dat v této skupině řádků (nezahrnuje metadata nebo sdílené slovníky) pro rozdílové úložiště i skupiny řádků columnstore. |
Poznámky
Vrátí jeden řádek pro každou skupinu řádků columnstore pro každý oddíl každé tabulky, která má clusterovaný nebo neclusterovaný index columnstore.
Umožňuje sys.column_store_row_groups zjistit, kolik řádků je ve skupině řádků a velikost 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. K opětovnému sestavení indexu columnstore použijte REBUILD klauzuli ALTER INDEX příkazu.
Aktualizovatelné columnstore nejprve vloží nová data do otevřené skupiny řádků, která je ve formátu rowstore, a někdy se také označuje jako rozdílová tabulka. Jakmile je otevřená skupina řádků plná, změní se její stav na CLOSED. Uzavřená skupina řádků je komprimována do formátu columnstore přesunutím řazené kolekce členů 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. Přesun řazené kolekce členů také zruší přidělení všech skupin řádků, ve kterých je každý řádek odstraněn. Uvolněné skupiny řádků jsou označené jako TOMBSTONE. K okamžitému spuštění moveru řazené kolekce členů použijte REORGANIZE klauzuli ALTER INDEX příkazu.
Když se skupina řádků columnstore vyplní, zkomprimuje se a přestane přijímat nové řádky. Když odstraníte řádky z komprimované skupiny, zůstanou, ale jsou označené jako odstraněné. 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 tématu Konfigurace viditelnosti metadat.
Examples
Následující příklad spojí sys.column_store_row_groups zobrazení a další systémová zobrazení a vrátí informace o clusterovaných indexech columnstore. Sloupec percent_full představuje odhad efektivity skupiny řádků.
SELECT i.object_id,
OBJECT_SCHEMA_NAME(i.object_id) AS schema_name,
OBJECT_NAME(i.object_id) AS table_name,
i.name AS index_name,
i.type_desc AS index_type_desc,
rg.partition_number,
rg.row_group_id,
rg.state_description,
rg.total_rows,
rg.deleted_rows,
rg.size_in_bytes,
100 * (rg.total_rows - ISNULL(rg.deleted_rows, 0)) / total_rows AS percent_full
FROM sys.indexes AS i
INNER JOIN sys.column_store_row_groups AS rg
ON i.object_id = rg.object_id
AND i.index_id = rg.index_id
WHERE INDEXPROPERTY(i.object_id, i.name, 'IsClustered') = 1
ORDER BY schema_name, table_name, index_name, row_group_id;
Další informace najdete v tématu Kontrola fragmentace indexu columnstore.