sys.pdw_nodes_column_store_segments (Transact-SQL)

van toepassing op:Azure Synapse AnalyticsAnalytics Platform System (PDW)

Bevat een rij voor elke kolom in een columnstore-index.

Kolomnaam Gegevenstype Description
partition_id bigint Geeft de partitie-ID aan. Is uniek in een database.
hobt_id bigint ID van de heap- of B-boomindex (hobt) voor de tabel die deze kolomstore-index heeft.
column_id int Id van de columnstore-kolom.
segment_id int ID van het kolomsegment. Voor achterwaartse compatibiliteit blijft de kolomnaam segment_id genoemd, ook al is dit de rijgroep-ID. Je kunt een segment uniek identificeren met <hobt_id, partition_id, column_id>, <segment_id>.
version int Versie van het kolomsegmentformaat.
encoding_type int Type codering die voor dat segment wordt gebruikt:

1 = VALUE_BASED - niet-string/binair zonder woordenboek (vergelijkbaar met 4 met enkele interne variaties)

2 = VALUE_HASH_BASED - niet-string/binaire kolom met gemeenschappelijke waarden in het woordenboek

3 = STRING_HASH_BASED - string/binaire kolom met gemeenschappelijke waarden in woordenboek

4 = STORE_BY_VALUE_BASED - niet-string/binair zonder woordenboek

5 = STRING_STORE_BY_VALUE_BASED - string/binair zonder woordenboek

Alle coderingen maken waar mogelijk gebruik van bitpacking en run-length codering.
row_count int Aantal rijen in de rijgroep.
has_nulls int 1 als het kolomsegment nullwaarden heeft.
base_id bigint Basiswaarde-ID als coderingstype 1 wordt gebruikt. Als coderingstype 1 niet wordt gebruikt, wordt base_id ingesteld op 1.
grootte float Grootte als codering type 1 wordt gebruikt. Als coderingstype 1 niet wordt gebruikt, wordt de grootte op 1 gezet.
primary__dictionary_id int ID van het primaire woordenboek. Een niet-nul waarde wijst naar het lokale woordenboek voor deze kolom in het huidige segment (d.w.z. de rijgroep). Een waarde van -1 geeft aan dat er voor dit segment geen lokaal woordenboek is.
secondary_dictionary_id int ID van secundair woordenboek. Een niet-nul waarde wijst naar het lokale woordenboek voor deze kolom in het huidige segment (d.w.z. de rijgroep). Een waarde van -1 geeft aan dat er voor dit segment geen lokaal woordenboek is.
min_data_id bigint Minimale data-ID in het kolomsegment.
max_data_id bigint Maximale data-ID in het kolomsegment.
null_value bigint Waarde die wordt gebruikt om nullen weer te geven.
on_disk_size bigint Grootte van het segment in bytes.
pdw_node_id int Unique identifier of a Azure Synapse Analytics node.

Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)

Voeg sys.pdw_nodes_column_store_segments aan met andere systeemtabellen om het aantal kolomopslagsegmenten per logische tabel te bepalen.

SELECT  sm.name           as schema_nm
,       tb.name           as table_nm
,       nc.name           as col_nm
,       nc.column_id
,       COUNT(*)          as segment_count
FROM    sys.[schemas] sm
JOIN    sys.[tables] tb                   ON  sm.[schema_id]          = tb.[schema_id]
JOIN    sys.[pdw_table_mappings] mp       ON  tb.[object_id]          = mp.[object_id]
JOIN    sys.[pdw_nodes_tables] nt         ON  nt.[name]               = mp.[physical_name]
JOIN    sys.[pdw_nodes_partitions] np     ON  np.[object_id]          = nt.[object_id]
                                          AND np.[pdw_node_id]        = nt.[pdw_node_id]
                                          AND np.[distribution_id]    = nt.[distribution_id]
JOIN    sys.[pdw_nodes_columns] nc        ON  np.[object_id]          = nc.[object_id]
                                          AND np.[pdw_node_id]        = nc.[pdw_node_id]
                                          AND np.[distribution_id]    = nc.[distribution_id]
JOIN    sys.[pdw_nodes_column_store_segments] rg  ON  rg.[partition_id]         = np.[partition_id]
                                                      AND rg.[pdw_node_id]      = np.[pdw_node_id]
                                                      AND rg.[distribution_id]  = np.[distribution_id]
                                                      AND rg.[column_id]        = nc.[column_id]
GROUP BY    sm.name
,           tb.name
,           nc.name
,           nc.column_id  
ORDER BY    table_nm
,           nc.column_id
,           sm.name ;

Permissions

Vereist VIEW SERVER-STATE toestemming.