Udostępnij za pomocą


sys.internal_partitions (Transact-SQL)

Dotyczy do: SQL Server 2016 (13.x) i nowsze wersje Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Zwraca jeden wiersz dla każdego zestawu wierszy, który śledzi dane wewnętrzne indeksów magazynu kolumn w tabelach opartych na dyskach. Te zestawy wierszy są wewnętrzne dla indeksów magazynu kolumn i śledzą usunięte wiersze, mapowania grup wierszy i grupy wierszy magazynu różnicowego. Śledzą dane dla każdej partycji tabeli. Każda tabela ma co najmniej jedną partycję. Aparat bazy danych tworzy ponownie zestawy wierszy za każdym razem, gdy ponownie kompiluje indeks magazynu kolumn.

Nazwa kolumny Typ danych Opis
partition_id Bigint powiedział: Identyfikator partycji dla tej partycji. Jest to unikatowe w bazie danych.
object_id Int Identyfikator obiektu tabeli zawierającej partycję.
index_id Int Identyfikator indeksu dla indeksu magazynu kolumn zdefiniowanego w tabeli.

1 = klastrowany indeks magazynu kolumn
2 = nieklastrowany indeks magazynu kolumn
partition_number Int Numer partycji.

1 = pierwsza partycja tabeli partycjonowanej lub pojedyncza partycja tabeli niepartycyjnej.

2 = druga partycja itd.
internal_object_type tinyint Obiekty zestawu wierszy, które śledzą dane wewnętrzne dla indeksu magazynu kolumn.

2 = COLUMN_STORE_DELETE_BITMAP
3 = COLUMN_STORE_DELTA_STORE
4 = COLUMN_STORE_DELETE_BUFFER
5 = COLUMN_STORE_MAPPING_INDEX
internal_object_type_desc nvarchar(60) COLUMN_STORE_DELETE_BITMAP — Ten indeks mapy bitowej śledzi wiersze oznaczone jako usunięte z magazynu kolumn. Mapa bitowa jest dla każdej grupy wierszy, ponieważ partycje mogą zawierać wiersze w wielu grupach wierszy. Te wiersze są nadal fizycznie obecne i zajmują miejsce w magazynie kolumn.

COLUMN_STORE_DELTA_STORE — Przechowuje grupy wierszy, nazywane grupami wierszy, które nie zostały skompresowane do magazynu kolumnowego. Każda partycja tabeli może mieć zero lub więcej grup wierszy magazynu delty.

COLUMN_STORE_DELETE_BUFFER — Do obsługi usuwania w celu zaktualizowania nieklastrowanych indeksów magazynu kolumn. Gdy zapytanie usunie wiersz z bazowej tabeli rowstore, bufor usuwania śledzi usunięcie z magazynu kolumn. Gdy liczba usuniętych wierszy przekracza 1048 576, są one scalane z powrotem do usuniętej mapy bitowej przez wątek tła krotki Mover lub przez operację ALTER INDEX ... REORGANIZE . W dowolnym momencie połączenie usuniętej mapy bitowej i buforu usuwania reprezentuje wszystkie usunięte wiersze.

COLUMN_STORE_MAPPING_INDEX — Używane tylko wtedy, gdy indeks klastrowanego magazynu kolumn ma pomocniczy indeks nieklastrowany. Spowoduje to mapowanie nieklastrowanych kluczy indeksu na grupę wierszy i identyfikator wiersza w magazynie kolumn. Przechowuje tylko klucze dla wierszy, które przechodzą do innej grupy wierszy. Dzieje się tak, gdy grupa wierszy różnicowych jest kompresowana do magazynu kolumn, a gdy operacja scalania scala wiersze z dwóch różnych grup wierszy.
row_group_id Int Identyfikator grupy wierszy magazynu delty. Każda partycja tabeli może mieć zero lub więcej grup wierszy magazynu delty.
hobt_id Bigint powiedział: Identyfikator wewnętrznego obiektu zestawu wierszy (HoBT). Można używać w sprzężeniach z innymi widokami systemu i funkcjami, takimi jak sys.dm_db_index_physical_stats(), aby uzyskać więcej informacji na temat cech fizycznych wewnętrznego zestawu wierszy.
rows Bigint powiedział: Przybliżona liczba wierszy w tej partycji.
data_compression tinyint Typ kompresji dla każdej partycji:

0 = NONE
1 = ROW
2 = PAGE
data_compression_desc nvarchar(60) Typ kompresji dla każdej partycji. Możliwe wartości tabel magazynu wierszy to NONE, ROWi PAGE. Możliwe wartości tabel magazynu kolumn to COLUMNSTORE i COLUMNSTORE_ARCHIVE.

Uprawnienia

Wymaga członkostwa w public roli. Aby uzyskać więcej informacji, zobacz Konfiguracja widoczności metadanych.

Uwagi

Aparat bazy danych ponownie tworzy nowe indeksy wewnętrzne magazynu kolumn za każdym razem, gdy tworzy lub ponownie kompiluje indeks magazynu kolumn.

Przykłady

Odp. Wyświetlanie wszystkich wewnętrznych zestawów wierszy dla tabeli

Ten przykład zwraca wszystkie wewnętrzne zestawy wierszy magazynu kolumn dla tabeli. Możesz również użyć kolumny hobt_id , aby połączyć się z innymi widokami i funkcjami systemu i znaleźć więcej informacji na temat określonego zestawu wierszy.

SELECT i.object_id,
       i.index_id,
       i.name,
       p.hobt_id,
       p.internal_object_type_id,
       p.internal_object_type_desc
FROM sys.internal_partitions AS p
     INNER JOIN sys.indexes AS i
         ON i.object_id = p.object_id
WHERE p.object_id = OBJECT_ID('<table name>');