Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w usłudze Microsoft Fabric
Udostępnia informacje o indeksie magazynu kolumn dla poszczególnych segmentów.
W przypadku klastrowanych indeksów sys.column_store_row_groups magazynu kolumn zawiera kolumnę zawierającą całkowitą liczbę wierszy przechowywanych fizycznie (w tym oznaczonych jako usunięte) oraz kolumnę dla liczby wierszy oznaczonych jako usunięte. Użyj sys.column_store_row_groups polecenia , aby określić, które grupy wierszy mają wysoki procent usuniętych wierszy i powinny zostać ponownie skompilowane.
| Nazwa kolumny | Typ danych | Description |
|---|---|---|
object_id |
int | Identyfikator tabeli, na której zdefiniowano ten indeks. |
index_id |
int | Identyfikator indeksu magazynu kolumn. |
partition_number |
int | Partycja tabeli zawierająca grupę wierszy zidentyfikowaną przez row_group_idelement . Użyj partition_number polecenia , aby dołączyć plik sys.partitions. |
row_group_id |
int | Numer grupy wiersza przypisany tej grupie. Ta liczba jest unikatowa w ramach partycji. -1 = ogon tabeli zoptymalizowanej pod kątem pamięci. |
delta_store_hobt_id |
bigint | Element hobt_id dla OPEN grupy wierszy w magazynie różnicowym.Wartość NULL, jeśli grupa wierszy nie znajduje się w magazynie różnicowym. Wartość NULL dla końca tabeli zoptymalizowanej pod kątem pamięci. |
state |
tinyint | Liczba opisująca stan grupy wierszy. 0 = INVISIBLE1 = OPEN2 = CLOSED3 = COMPRESSED4 = TOMBSTONE |
state_description |
nvarchar(60) | Opis stanu grupy wierszy:INVISIBLE — Ukryty skompresowany segment w procesie kompilowania danych w magazynie różnicowym. Akcje odczytu używają magazynu różnicowego do momentu ukończenia niewidocznego skompresowanego segmentu. Następnie nowy segment staje się widoczny, a źródłowy zapis delta jest usuwany.OPEN - Grupa wierszy odczytu/zapisu akceptująca nowe wiersze. Otwarta grupa wierszy jest nadal w formacie magazynu wierszy i nie jest kompresowana do formatu magazynu kolumn.CLOSED - Wypełniona grupa wierszy, ale jeszcze nie skompresowana przez proces przełączania krotki.COMPRESSED - Grupa wierszy wypełniona i skompresowana. |
total_rows |
bigint | Łączna liczba wierszy fizycznie zapisanych w grupie wierszy. Usunięte wiersze mogą być nadal przechowywane. Maksymalna liczba wierszy w grupie wierszy wynosi 1048 576. |
deleted_rows |
bigint | Łączna liczba wierszy w grupie wierszy, które są oznaczone jako usunięte, ale pozostają przechowywane. Ta wartość jest zawsze 0 dostępna dla grup wierszy różnicowych.W przypadku indeksów nieklastrowanych magazynu kolumn ta wartość nie obejmuje usuniętych wierszy przechowywanych w buforze usuwania. Aby uzyskać więcej informacji i znaleźć liczbę usuniętych wierszy w buforze usuwania, zobacz sys.internal_partitions. |
size_in_bytes |
bigint | Rozmiar w bajtach wszystkich danych w tej grupie wierszy (bez metadanych lub udostępnionych słowników) zarówno dla magazynów różnicowych, jak i grup wierszy magazynu kolumn. |
Uwagi
Zwraca jeden wiersz dla każdej grupy wierszy magazynu kolumn dla każdej partycji każdej tabeli z klastrowanym lub nieklastrowanym indeksem magazynu kolumn.
Użyj polecenia sys.column_store_row_groups , aby dowiedzieć się, ile wierszy znajduje się w grupie wierszy i rozmiarze grupy wierszy.
Gdy liczba usuniętych wierszy w grupie wierszy rośnie do dużego procentu wszystkich wierszy, tabela staje się mniej wydajna. Przebuduj indeks columnstore, aby zmniejszyć rozmiar tabeli, zmniejszając ilość wejścia i wyjścia na dysku potrzebną do odczytu tabeli. Aby ponownie skompilować indeks magazynu kolumn, użyj REBUILD klauzuli instrukcji ALTER INDEX .
Magazyn kolumn z możliwością aktualizacji najpierw wstawia nowe dane do otwartej grupy wierszy, która jest w formacie magazynu wierszy, a czasami jest nazywana tabelą różnicową. Po zapełnieniu otwartej grupy wierszy jego stan zmieni się na CLOSED. Zamknięta grupa wierszy jest kompresowana do formatu magazynu kolumn przez krotkę, a stan zmienia się na COMPRESSED. Przesuwacz krotek to proces w tle, który okresowo budzi się i sprawdza, czy istnieją zamknięte grupy wierszy gotowe do kompresji do grupy wierszy columnstore. Mover krotki powoduje również cofnięcie przydziału wszystkich grup wierszy, w których każdy wiersz jest usuwany. Cofnięto przydział grup wierszy są oznaczone jako TOMBSTONE. Aby natychmiast uruchomić krotkę REORGANIZE mover, użyj klauzuli instrukcji ALTER INDEX .
Gdy grupa wierszy magazynu kolumn zostanie wypełniona, zostanie skompresowana i przestanie akceptować nowe wiersze. Po usunięciu wierszy z skompresowanej grupy pozostają one, ale są oznaczone jako usunięte. Aktualizacje grupy skompresowanej są realizowane jako usunięcie z grupy skompresowanej oraz wstawienie do grupy otwartej.
Permissions
Zwraca informacje o tabeli, jeśli użytkownik ma VIEW DEFINITION do niej uprawnienia.
Widoczność metadanych w widokach katalogu jest ograniczona do obiektów, których właścicielem jest użytkownik lub w stosunku do których użytkownik ma jakieś uprawnienia. Aby uzyskać więcej informacji, zobacz Konfiguracja widoczności metadanych.
Przykłady
Poniższy przykład łączy sys.column_store_row_groups widok i inne widoki systemowe w celu zwrócenia informacji o klastrowanych indeksach magazynu kolumn. Kolumna percent_full jest oszacowaniem wydajności grupy wierszy.
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;
Aby uzyskać więcej informacji, zobacz Sprawdzanie fragmentacji indeksu magazynu kolumn.