Partager via


sys.internal_partitions (Transact-SQL)

S’applique à : SQL Server 2016 (13.x) et versions ultérieures Azure SQL SQL ManagedInstanceSQL database in Microsoft Fabric

Retourne une ligne pour chaque ensemble de lignes qui effectue le suivi des données internes pour les index columnstore sur les tables sur disque. Ces ensembles de lignes sont internes aux index columnstore et effectuent le suivi des lignes supprimées, des mappages de rowgroups et des rowgroups de magasin delta. Ils effectuent le suivi des données pour chaque partition de table. Chaque table a au moins une partition. Le moteur de base de données recrée les ensembles de lignes chaque fois qu’il reconstruit l’index columnstore.

Nom de la colonne Type de données Descriptif
partition_id bigint ID de partition pour cette partition. Unique dans la base de données.
object_id Int ID d’objet de la table qui contient la partition.
index_id Int ID d’index pour l’index columnstore défini sur la table.

1 = index columnstore cluster
2 = index columnstore non cluster
partition_number Int Numéro de partition.

1 = première partition d’une table partitionnée ou partition unique d’une table nonpartitionnée.

2 = deuxième partition, et ainsi de suite.
internal_object_type tinyint Objets d’ensemble de lignes qui suivent les données internes de l’index columnstore.

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 - Cet index bitmap suit les lignes marquées comme supprimées du columnstore. La bitmap est destinée à chaque rowgroup, car les partitions peuvent avoir des lignes dans plusieurs rowgroups. Ces lignes sont toujours présentes physiquement et occupent de l’espace dans le columnstore.

COLUMN_STORE_DELTA_STORE - Stocke les groupes de lignes, appelés rowgroups, qui n’ont pas été compressés dans le stockage en colonnes. Chaque partition de table peut avoir zéro ou plusieurs rowgroups deltastore.

COLUMN_STORE_DELETE_BUFFER - Pour conserver les suppressions pour mettre à jour des index columnstore non cluster pouvant être mis à jour. Lorsqu’une requête supprime une ligne de la table rowstore sous-jacente, la mémoire tampon de suppression effectue le suivi de la suppression du columnstore. Lorsque le nombre de lignes supprimées dépasse 1 048 576, ils sont fusionnés dans la bitmap de suppression par le thread d’arrière-plan tuple Mover ou par une ALTER INDEX ... REORGANIZE opération. À un moment donné, l’union de la bitmap de suppression et de la mémoire tampon de suppression représente toutes les lignes supprimées.

COLUMN_STORE_MAPPING_INDEX - Utilisé uniquement lorsque l’index columnstore cluster a un index secondaire non cluster. Cela mappe les clés d’index non cluster au rowgroup et à l’ID de ligne dans le columnstore. Il stocke uniquement les clés pour les lignes qui se déplacent vers un autre rowgroup. Cela se produit lorsqu’un rowgroup delta est compressé dans le columnstore et lorsqu’une opération de fusion fusionne des lignes à partir de deux rowgroups différents.
row_group_id Int ID du rowgroup deltastore. Chaque partition de table peut avoir zéro ou plusieurs rowgroups deltastore.
hobt_id bigint ID de l’objet d’ensemble de lignes interne (HoBT). Peut être utilisé dans des jointures avec d’autres vues système et fonctions telles que sys.dm_db_index_physical_stats() pour obtenir plus d’informations sur les caractéristiques physiques de l’ensemble de lignes interne.
rows bigint Nombre approximatif de lignes dans cette partition.
data_compression tinyint Type de compression pour chaque partition :

0 = NONE
1 = ROW
2 = PAGE
data_compression_desc nvarchar(60) Type de compression pour chaque partition. Les valeurs possibles pour les tables rowstore sont NONE, ROWet PAGE. Les valeurs possibles pour les tables columnstore sont COLUMNSTORE et COLUMNSTORE_ARCHIVE.

autorisations

Nécessite l’appartenance au rôle public. Pour plus d'informations, consultez Metadata Visibility Configuration.

Remarques

Le moteur de base de données recrée de nouveaux index internes columnstore chaque fois qu’il crée ou régénère un index columnstore.

Exemples

R. Afficher tous les ensembles de lignes internes d’une table

Cet exemple retourne tous les ensembles de lignes columnstore internes d’une table. Vous pouvez également utiliser la hobt_id colonne pour joindre d’autres vues et fonctions système et trouver plus d’informations sur l’ensemble de lignes spécifique.

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>');