sys.internal_partitions (Transact-SQL)
S’applique à : SQL Server 2016 (13.x) et versions ultérieures Azure SQL DatabaseAzure SQL Managed Instance
Retourne une ligne pour chaque ensemble de lignes qui effectue le suivi des données internes pour les index columnstore sur des tables sur disque. Ces ensembles de lignes sont internes aux index columnstore et suivent les lignes supprimées, les mappages de rowgroup et les rowgroups delta store. Ils effectuent le suivi des données pour chaque partition de table ; chaque table a au moins une partition. SQL Server recrée les ensembles de lignes chaque fois qu’il reconstruit l’index columnstore.
Nom de la colonne | Type de données | Description |
---|---|---|
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 non partitionnée. 2 = deuxième partition, et ainsi de suite. |
internal_object_type | tinyint | Objets d’ensemble de lignes qui effectuent le suivi des données internes pour 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 pour chaque rowgroup, car les partitions peuvent avoir des lignes dans plusieurs rowgroups. Les lignes sont toujours physiquement présentes et occupent de l’espace dans le columnstore. COLUMN_STORE_DELTA_STORE : stocke des 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 la gestion des suppressions vers 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 à partir du columnstore. Lorsque le nombre de lignes supprimées dépasse 1048576, elles sont fusionnées dans le bitmap de suppression par le thread Tuple Mover en arrière-plan ou par une commande Reorganize explicite. À 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 groupe de lignes et à l’ID de ligne appropriés dans le columnstore. Il stocke uniquement les clés pour les lignes qui se déplacent vers un autre groupe de lignes ; cela se produit lorsqu’un groupe de lignes delta est compressé dans le columnstore et qu’une opération de fusion fusionne des lignes de deux rowgroups différents. |
Row_group_id | int | ID du groupe de lignes 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). Il s’agit d’une bonne clé pour joindre d’autres DMV afin d’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 | État de compression de l’ensemble de lignes : 0 = AUCUN 1 = LIGNE 2 = PAGE |
data_compression_desc | nvarchar(60) | État de compression de chaque partition. Les valeurs possibles pour les tables rowstore sont AUCUN, LIGNE et PAGE. Les valeurs possibles pour les tables columnstore sont COLUMNSTORE et COLUMNSTORE_ARCHIVE. |
optimize_for_sequential_key | bit | 1 = L’optimisation de l’insertion de la dernière page est activée pour la partition. 0 = Valeur par défaut. L’optimisation de l’insertion de dernière page est désactivée pour la partition. |
Autorisations
Nécessite l’appartenance au rôle public
. Pour plus d'informations, consultez Metadata Visibility Configuration.
Remarques d'ordre général
SQL Server recrée de nouveaux index internes columnstore chaque fois qu’il crée ou regé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 le hobt_id pour obtenir 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
JOIN sys.indexes AS i
on i.object_id = p.object_id
WHERE p.object_id = OBJECT_ID ( '<table name' ) ;
Voir aussi
Vues de catalogue d'objets (Transact-SQL)
Affichages catalogue (Transact-SQL)
Questions fréquentes sur l'interrogation des catalogues système de SQL Server
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour