sys.internal_partitions (Transact-SQL)
Si applica a: SQL Server 2016 (13.x) e versioni successive Database SQL di Azure Istanza gestita di SQL di Azure
Restituisce una riga per ogni set di righe che tiene traccia dei dati interni per gli indici columnstore nelle tabelle basate su disco. Questi set di righe sono interni agli indici columnstore e tengono traccia delle righe eliminate, dei mapping dei rowgroup e dei rowgroup dell'archivio differenziale. Tengono traccia dei dati per ogni partizione di tabella; ogni tabella ha almeno una partizione. SQL Server ricrea i set di righe ogni volta che ricompila l'indice columnstore.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
partition_id | bigint | ID partizione per questa partizione. Valore univoco all'interno di un database. |
object_id | int | ID oggetto per la tabella che contiene la partizione. |
index_id | int | ID di indice per l'indice columnstore definito nella tabella. 1 = indice columnstore cluster 2 = indice columnstore non cluster |
partition_number | int | Numero di partizione. 1 = prima partizione di una tabella partizionata o singola partizione di una tabella non partizionata. 2 = seconda partizione e così via. |
internal_object_type | tinyint | Oggetti set di righe che tengono traccia dei dati interni per l'indice 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: questo indice bitmap tiene traccia delle righe contrassegnate come eliminate dal columnstore. La bitmap è per ogni rowgroup perché le partizioni possono avere righe in più rowgroup. Le righe sono ancora fisicamente presenti e occupano spazio nel columnstore. COLUMN_STORE_DELTA_STORE: archivia gruppi di righe, denominati rowgroup, che non sono stati compressi nell'archiviazione a colonne. Ogni partizione di tabella può avere zero o più rowgroup deltastore. COLUMN_STORE_DELETE_BUFFER: per la gestione delle eliminazioni per gli indici columnstore non cluster aggiornabili. Quando una query elimina una riga dalla tabella rowstore sottostante, il buffer di eliminazione tiene traccia dell'eliminazione dal columnstore. Quando il numero di righe eliminate supera 1048576, vengono unite di nuovo nella bitmap di eliminazione in base al thread di spostamento tuple in background o da un comando esplicito Riorganizza. In un determinato momento, l'unione della bitmap di eliminazione e del buffer di eliminazione rappresenta tutte le righe eliminate. COLUMN_STORE_MAPPING_INDEX: viene usato solo quando l'indice columnstore cluster ha un indice secondario non cluster. In questo modo le chiavi di indice non cluster vengono mappate al rowgroup e all'ID di riga corretti nel columnstore. Archivia solo le chiavi per le righe che si spostano in un rowgroup diverso; ciò si verifica quando un rowgroup differenziale viene compresso nel columnstore e quando un'operazione di unione unisce righe da due rowgroup diversi. |
Row_group_id | int | ID per il rowgroup deltastore. Ogni partizione di tabella può avere zero o più rowgroup deltastore. |
hobt_id | bigint | ID dell'oggetto set di righe interno (HoBT). Si tratta di una buona chiave per l'unione con altri DMV per ottenere altre informazioni sulle caratteristiche fisiche del set di righe interno. |
rows | bigint | Numero approssimativo di righe nella partizione. |
data_compression | tinyint | Stato della compressione per il set di righe: 0 = NONE 1 = ROW 2 = PAGE |
data_compression_desc | nvarchar(60) | Stato della compressione per ogni partizione. I valori possibili per le tabelle rowstore sono NONE, ROW e PAGE. I valori possibili per le tabelle columnstore sono COLUMNSTORE e COLUMNSTORE_ARCHIVE. |
optimize_for_sequential_key | bit | 1 = La partizione ha l'ottimizzazione dell'inserimento dell'ultima pagina abilitata. 0 = Valore predefinito. L'ottimizzazione dell'inserimento dell'ultima pagina è disabilitata. |
Autorizzazioni
Richiede l'appartenenza al ruolo public
. Per altre informazioni, vedere Metadata Visibility Configuration.
Osservazioni generali
SQL Server ricrea nuovi indici interni columnstore ogni volta che crea o ricompila un indice columnstore.
Esempi
R. Visualizzare tutti i set di righe interni per una tabella
In questo esempio vengono restituiti tutti i set di righe columnstore interni per una tabella. È anche possibile usare il hobt_id per trovare altre informazioni sul set di righe specifico.
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' ) ;
Vedi anche
Viste del catalogo oggetti (Transact-SQL)
Viste del catalogo (Transact-SQL)
Domande frequenti sull'esecuzione di query nel catalogo di sistema di SQL Server