Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Tillhandahåller kolumnlagringsindexinformation per segment.
För grupperade kolumnlagringsindex sys.column_store_row_groups har en kolumn för det totala antalet rader som lagras fysiskt (inklusive de som markerats som borttagna) och en kolumn för antalet rader som markerats som borttagna. Använd sys.column_store_row_groups för att avgöra vilka radgrupper som har en hög procentandel borttagna rader och bör återskapas.
| Kolumnnamn | Datatyp | Description |
|---|---|---|
object_id |
int | ID:t för den tabell där det här indexet har definierats. |
index_id |
int | ID:t för kolumnlagringsindexet. |
partition_number |
int | Tabellpartitionen som innehåller den radgrupp som identifieras av row_group_id. Använd partition_number för att ansluta sys.partitions. |
row_group_id |
int | Radgruppsnumret som är associerat med denna radgrupp. Det här talet är unikt i partitionen. -1 = slutet på en minnesoptimerad tabell. |
delta_store_hobt_id |
bigint |
hobt_id För en OPEN radgrupp i deltaarkivet.NULL om radgruppen inte finns i deltaarkivet. NULL för slutet av en minnesoptimerad tabell. |
state |
tinyint | Ett tal som beskriver radgruppstillståndet. 0 = INVISIBLE1 = OPEN2 = CLOSED3 = COMPRESSED4 = TOMBSTONE |
state_description |
nvarchar(60) | Beskrivning av radgruppens tillstånd:INVISIBLE – Ett dolt komprimerat segment som håller på att skapas från data i ett deltalager. Läsåtgärder använder deltaarkivet tills det osynliga komprimerade segmentet har slutförts. Sedan görs det nya segmentet synligt och källdelta-lagret tas bort.OPEN – En radgrupp för läsning/skrivning som accepterar nya rader. En öppen radgrupp är fortfarande i radarkivformat och komprimeras inte till kolumnlagringsformat.CLOSED – En radgrupp som är fylld, men ännu inte komprimerad av tuppelns flyttprocess.COMPRESSED – En radgrupp som är fylld och komprimerad. |
total_rows |
bigint | Totalt lagrade rader fysiskt i radgruppen. Borttagna rader kan fortfarande lagras. Det maximala antalet rader i en radgrupp är 1 048 576. |
deleted_rows |
bigint | Totalt antal rader i radgruppen som har markerats som borttagna men förblir lagrade. Det här värdet är alltid 0 för deltaradsgrupper.För icke-illustrerade kolumnlagringsindex inkluderar det här värdet inte borttagna rader som lagras i borttagningsbufferten. Mer information och hur du hittar antalet borttagna rader i borttagningsbufferten finns i sys.internal_partitions. |
size_in_bytes |
bigint | Storlek i byte för alla data i den här radgruppen (inklusive metadata eller delade ordlistor) för både deltalager- och columnstore-radgrupper. |
Anmärkningar
Returnerar en rad för varje kolumnlagringsradgrupp för varje partition i varje tabell som har ett grupperat eller icke-grupperat kolumnlagringsindex.
Använd sys.column_store_row_groups för att ta reda på hur många rader som finns i radgruppen och storleken på radgruppen.
När antalet raderade rader i en radgrupp ökar till en stor procentandel av de totala raderna blir tabellen mindre effektiv. Bygg om kolumnlagringsindexet för att minska tabellens storlek, vilket minskar diskens I/O som krävs för att läsa tabellen. Om du vill återskapa kolumnlagringsindexet REBUILD använder du instruktionens sats ALTER INDEX .
Det uppdateringsbara kolumnarkivet infogar först nya data i en öppen radgrupp, som är i radlagringsformat, och kallas ibland även för en deltatabell. När en öppen radgrupp är full ändras dess tillstånd till CLOSED. En stängd radgrupp komprimeras till kolumnlagringsformat av tuppelns mover och tillståndet ändras till COMPRESSED. Tuple mover är en bakgrundsprocess som periodiskt vaknar och kontrollerar om det finns några stängda radgrupper som är redo att komprimeras till en kolumnlagringsradgrupp. Tuppeln frigör även alla radgrupper där varje rad tas bort. Frigjorda radgrupper markeras som TOMBSTONE. Om du vill köra tuppelns mover omedelbart använder du REORGANIZE instruktionens sats ALTER INDEX .
När en kolumnlagringsradgrupp fylls komprimeras den och slutar acceptera nya rader. När du tar bort rader från en komprimerad grupp finns de kvar men markeras som borttagna. Uppdateringar till en komprimerad grupp implementeras som en borttagning från den komprimerade gruppen och en insättning till en öppen grupp.
Permissions
Returnerar information för en tabell om användaren har VIEW DEFINITION behörighet på tabellen.
Synligheten för metadata i katalogvyer är begränsad till skyddsbara objekt som en användare antingen äger eller som användaren har beviljats viss behörighet för. Mer information finns i Konfiguration av synlighet för metadata.
Examples
I följande exempel kopplas vyn och andra systemvyer sys.column_store_row_groups till att returnera information om grupperade columnstore-index. Kolumnen percent_full är en uppskattning av radgruppens effektivitet.
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;
Mer information finns i Kontrollera fragmenteringen av ett kolumnlagringsindex.