Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op: SQL Server 2012 (11.x) en latere versies
Azure SQL Managed Instance
Biedt geclusterde columnstore-indexinformatie per segment om de beheerder te helpen bij het nemen van systeembeheerbeslissingen. sys.column_store_row_groups heeft een kolom voor het totale aantal rijen dat fysiek is opgeslagen (inclusief die als verwijderd is gemarkeerd) en een kolom voor het aantal rijen dat als verwijderd is gemarkeerd. Gebruik sys.column_store_row_groups om te bepalen welke rijgroepen een hoog percentage verwijderde rijen hebben en opnieuw opgebouwd moeten worden.
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
| object_id | int | De id van de tabel waarop deze index is gedefinieerd. |
| index_id | int | ID van de index voor de tabel die deze columnstore-index bevat. |
| partition_number | int | ID van de tabelpartitie die rijgroep row_group_id bevat. Je kunt partition_number gebruiken om deze DMV aan sys.partitions te koppelen. |
| row_group_id | int | Het rijgroepnummer dat aan deze rijgroep hoort. Dit is uniek binnen de partitie. -1 = staart van een tabel in het geheugen. |
| delta_store_hobt_id | Bigint | De hobt_id voor de OPEN rijgroep in de Delta Store. NULL als de rijgroep niet in de delta store zit. NULL voor de staart van een in-memory tabel. |
| state | tinyint | ID-nummer gekoppeld aan de state_description. 0 = ONZICHTBAAR 1 = OPEN 2 = GESLOTEN 3 = GECOMPRIMEERD 4 = GRAFSTEEN |
| state_description | nvarchar(60) | Beschrijving van de persistente toestand van de rijgroep: INVISIBLE -A verborgen gecomprimeerd segment dat wordt opgebouwd uit data in een delta store. Leesacties gebruiken de delta-opslag totdat het onzichtbare, gecomprimeerde segment is voltooid. Daarna wordt het nieuwe segment zichtbaar gemaakt en wordt de bron-delta store verwijderd. OPEN - Een lees/schrijfrijgroep die nieuwe records accepteert. Een open rijgroep is nog steeds in rowstore-formaat en is niet gecomprimeerd naar columnstore-formaat. GESLOTEN - Een rijgroep die is ingevuld, maar nog niet gecomprimeerd door het tuple mover-proces. GECOMPRIMEERD - Een rijgroep die gevuld en gecomprimeerd is. |
| total_rows | Bigint | Totaal aantal rijen fysiek opgeslagen in de rijgroep. Sommige zijn misschien verwijderd, maar ze worden nog steeds opgeslagen. Het maximale aantal rijen in een rijgroep is 1.048.576 (hexadecimale FFFFF). |
| deleted_rows | Bigint | Totaal aantal rijen in de rijgroep als verwijderd gemarkeerd. Dit is altijd 0 voor DELTA-rijgroepen. |
| size_in_bytes | Bigint | Grootte in bytes van alle gegevens in deze rijgroep (exclusief metadata of gedeelde woordenboeken), voor zowel DELTA als COLUMNSTORE-rijgroepen. |
Opmerkingen
Geeft één rij terug voor elke columnstore-rijgroep voor elke tabel met een geclusterde of niet-geclusterde columnstore-index.
Gebruik sys.column_store_row_groups om het aantal rijen in de rijgroep en de grootte van de rijgroep te bepalen.
Wanneer het aantal verwijderde rijen in een rijgroep groeit tot een groot percentage van het totaal aantal rijen, wordt de tabel minder efficiënt. Herbouw de columnstore-index om de grootte van de tabel te verkleinen, waardoor de schijf-I/O die nodig is om de tabel te lezen wordt verminderd. Om de columnstore-index te reconstrueren, gebruik de REBUILD-optie van de ALTER INDEX-instructie .
De bijwerkbare columnstore voegt eerst nieuwe gegevens in in een OPEN rijgroep, die in rowstore-formaat is en soms ook een delta-tabel wordt genoemd. Zodra een open rijgroep vol is, verandert de toestand naar GESLOTEN. Een gesloten rijgroep wordt door de tuple mover gecomprimeerd tot columnstore-formaat en de status verandert in COMPRESSED. De tuple mover is een achtergrondproces dat periodiek wakker wordt en controleert of er gesloten rijgroepen zijn die klaar zijn om te comprimeren tot een columnstore-rijgroep. De tuple mover verwijdert ook alle rijgroepen waarin elke rij is verwijderd. Gedealviseerde rijgroepen worden aangeduid als TOMBSTONE. Om de tuple mover direct uit te voeren, gebruik je de REORGANISERING-optie van de ALTER INDEX-instructie .
Wanneer een kolomopslag-rijgroep is gevuld, wordt deze gecomprimeerd en stopt het accepteren van nieuwe rijen. Wanneer rijen uit een gecomprimeerde groep worden verwijderd, blijven ze aanwezig maar worden ze als verwijderd gemarkeerd. Updates aan een gecomprimeerde groep worden geïmplementeerd als verwijdering uit de gecomprimeerde groep, en als een invoeging naar een open groep.
Permissions
Geeft informatie terug voor een tabel als de gebruiker toestemming heeft VIEW DEFINITION voor de tabel.
De zichtbaarheid van de metagegevens in catalogusweergaven is beperkt tot beveiligbare items waarvan een gebruiker eigenaar is of waarvoor de gebruiker een bepaalde machtiging heeft gekregen. Zie Zichtbaarheidsconfiguratie voor metagegevensvoor meer informatie.
Voorbeelden
Het volgende voorbeeld voegt de sys.column_store_row_groups-tabel toe aan andere systeemtabellen om informatie over specifieke tabellen terug te geven. De berekende PercentFull kolom is een schatting van de efficiëntie van de rijgroep. Om informatie over één tabel te vinden, verwijder je de commentaarkoppeltekens voor de WHERE-clausule en geef je een tabelnaam.
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;
Zie ook
objectcatalogusweergaven (Transact-SQL)
catalogusweergaven (Transact-SQL)
query's uitvoeren op de veelgestelde vragen over sql Server System Catalog
sys.columns (Transact-SQL)
sys.all_columns (Transact-SQL)
sys.computed_columns (Transact-SQL)
Handleiding voor Columnstore-indexen
sys.column_store_dictionaries (Transact-SQL)
sys.column_store_segments (Transact-SQL)