Megosztás a következőn keresztül:


sys.pdw_nodes_column_store_row_groups (Transact-SQL)

A következőkre vonatkozik:Azure Synapse AnalyticsAnalytics Platform System (PDW)

Fürtözött oszlopcentrikus indexinformációkat biztosít szegmensenként, hogy a rendszergazda rendszerfelügyeleti döntéseket hozzon az Azure Synapse Analyticsben. sys.pdw_nodes_column_store_row_groups tartalmaz egy oszlopot a fizikailag tárolt sorok teljes számához (beleértve a töröltként megjelölt sorokat is), valamint egy oszlopot a töröltként megjelölt sorok számához. A sys.pdw_nodes_column_store_row_groups segítségével megállapíthatja, hogy mely sorcsoportokban van nagy a törölt sorok aránya, és ezeket újra kell létrehozni.

Oszlop neve Adattípus Leírás
object_id A mögöttes tábla azonosítója. Ez a számítási csomópont fizikai táblája, nem pedig a Vezérlő csomópont logikai táblájának object_id. A object_id például nem egyezik a sys.tables object_id.

A sys.tableshez való csatlakozáshoz használja a sys.pdw_index_mappings.
index_id A fürtözött oszlopcentrikus index azonosítója object_id táblában.
partition_number A sorcsoportot row_group_idtartalmazó táblapartíció azonosítója. A partition_number használatával csatlakoztathatja ezt a DMV-t a sys.partitionshoz.
row_group_id A sorcsoport azonosítója. Ez a partíción belül egyedi.
delta_store_hobt_id bigint A deltasorcsoportok hobt_id vagy NULL érték, ha a sorcsoport típusa nem különbözik. A deltasorcsoport egy olvasási/írási sorcsoport, amely új rekordokat fogad el. A deltasorcsoport OPEN állapotú. A deltasorcsoport továbbra is sortár formátumban van, és nem lett oszlopcentrikus formátumba tömörítve.
állapot apró A state_description társított azonosítószám.

1 = MEGNYITÁS

2 = ZÁRT

3 = TÖMÖRÍTVE
state_description nvarchar(60) A sorcsoport állandó állapotának leírása:

OPEN – Új rekordokat elfogadó olvasási/írási sorcsoport. A megnyitott sorcsoportok továbbra is sortár formátumban vannak, és nem lettek oszlopcentrikus formátumba tömörítve.

ZÁRT – Egy sorcsoport, amely ki van töltve, de még nem tömöríti a rekordátállítási folyamat.

TÖMÖRÍTVE – Kitöltött és tömörített sorcsoport.
total_rows bigint A sorcsoportban fizikailag tárolt összes sor. Előfordulhat, hogy néhányat töröltek, de a rendszer továbbra is tárolja őket. Egy sorcsoport sorainak maximális száma 1 048 576 (hexadecimális FFFFF).
deleted_rows bigint A törlésre megjelölt sorcsoportban fizikailag tárolt sorok száma.

Delta sorcsoportok esetén mindig 0.
size_in_bytes A sorcsoport összes lapjának együttes mérete bájtban. Ez a méret nem tartalmazza a metaadatok vagy megosztott szótárak tárolásához szükséges méretet.
pdw_node_id Az Azure Synapse Analytics-csomópont egyedi azonosítója.
distribution_id A disztribúció egyedi azonosítója.

Megjegyzések

Egy sort ad vissza minden oszlopcentrikus sorcsoporthoz minden olyan táblához, amely fürtözött vagy nemclustered oszlopcentrikus indexet tartalmaz.

A sys.pdw_nodes_column_store_row_groups segítségével meghatározhatja a sorcsoportban szereplő sorok számát és a sorcsoport méretét.

Ha egy sorcsoport törölt sorainak száma a teljes sorok nagy százalékára nő, a táblázat kevésbé lesz hatékony. Építse újra az oszlopcentrikus indexet a tábla méretének csökkentése érdekében, csökkentve a táblázat olvasásához szükséges lemez I/O-értékét. Az oszlopcentrikus index újraépítéséhez használja a ALTER INDEX utasítás ÚJRAÉPÍTÉS beállítását.

A frissíthető oszloptár először új adatokat szúr be egy OPEN sorcsoportba, amely sortár formátumban van, és más néven deltatáblának is nevezik. Miután megtelt egy nyitott sorcsoport, az állapota ZÁRTlesz. A zárt sorcsoportot oszlopcentrikus formátumba tömöríti a húzó mozgató, és az állapot TÖMÖRÍTETTváltozik. A hullámos mozgatás egy háttérfolyamat, amely rendszeresen felébred, és ellenőrzi, hogy vannak-e olyan zárt sorcsoportok, amelyek készen állnak a tömörítésre egy oszlopcentrikus sorcsoportba. A rekord mozgatása minden olyan sorcsoportot is felszabadít, amelyben minden sor törölve lett. A felszabadított sorcsoportok KIVEZETETTvannak megjelölve. A váltó azonnali futtatásához használja a ALTER INDEX utasítás REORGANIZE beállítását.

Ha egy oszlopcentrikus sorcsoport megtelt, a rendszer tömöríti, és nem fogadja el az új sorokat. Ha a sorok törölve vannak egy tömörített csoportból, azok megmaradnak, de töröltként vannak megjelölve. A tömörített csoportok frissítései a tömörített csoportból való törlésként, valamint egy megnyitott csoportba történő beszúrásként kerülnek implementálásra.

Engedélyek

KISZOLGÁLÓ ÁLLAPOTA engedély szükséges.

Példák: Azure Synapse Analytics and Analytics Platform System (PDW)

Az alábbi példa a sys.pdw_nodes_column_store_row_groups táblát más rendszertáblákhoz illeszti, és adott táblákra vonatkozó információkat ad vissza. A számított PercentFull oszlop a sorcsoport hatékonyságának becslése. Ha egyetlen tábláról szeretne információt keresni, távolítsa el a WHERE záradék előtti megjegyzéskötőjeleket, és adjon meg egy táblanevet.

SELECT IndexMap.object_id,   
  object_name(IndexMap.object_id) AS LogicalTableName,   
  i.name AS LogicalIndexName, IndexMap.index_id, NI.type_desc,   
  IndexMap.physical_name AS PhyIndexNameFromIMap,   
  CSRowGroups.*,  
  100*(ISNULL(deleted_rows,0))/total_rows AS PercentDeletedRows   
FROM sys.tables AS t  
JOIN sys.indexes AS i  
    ON t.object_id = i.object_id  
JOIN sys.pdw_index_mappings AS IndexMap  
    ON i.object_id = IndexMap.object_id  
    AND i.index_id = IndexMap.index_id  
JOIN sys.pdw_nodes_indexes AS NI  
    ON IndexMap.physical_name = NI.name  
    AND IndexMap.index_id = NI.index_id  
JOIN sys.pdw_nodes_column_store_row_groups AS CSRowGroups  
    ON CSRowGroups.object_id = NI.object_id   
    AND CSRowGroups.pdw_node_id = NI.pdw_node_id  
    AND CSRowGroups.distribution_id = NI.distribution_id
    AND CSRowGroups.index_id = NI.index_id      
WHERE total_rows > 0
--WHERE t.name = '<table_name>'   
ORDER BY object_name(i.object_id), i.name, IndexMap.physical_name, pdw_node_id;  

Az alábbi Azure Synapse Analytics-példa megszámolja a fürtözött oszloptárolók partíciónkénti sorait, valamint azt, hogy hány sor van nyitott, zárt vagy tömörített sorcsoportokban:

SELECT
    s.name AS [Schema Name]
    ,t.name AS [Table Name]
    ,rg.partition_number AS [Partition Number]
    ,SUM(rg.total_rows) AS [Total Rows]
    ,SUM(CASE WHEN rg.State = 1 THEN rg.Total_rows Else 0 END) AS [Rows in OPEN Row Groups]
    ,SUM(CASE WHEN rg.State = 2 THEN rg.Total_Rows ELSE 0 END) AS [Rows in Closed Row Groups]
    ,SUM(CASE WHEN rg.State = 3 THEN rg.Total_Rows ELSE 0 END) AS [Rows in COMPRESSED Row Groups]
FROM sys.pdw_nodes_column_store_row_groups rg
  JOIN sys.pdw_nodes_tables pt
    ON rg.object_id = pt.object_id
    AND rg.pdw_node_id = pt.pdw_node_id
    AND pt.distribution_id = rg.distribution_id
  JOIN sys.pdw_table_mappings tm
    ON pt.name = tm.physical_name
  INNER JOIN sys.tables t
    ON tm.object_id = t.object_id
  INNER JOIN sys.schemas s
    ON t.schema_id = s.schema_id
GROUP BY s.name, t.name, rg.partition_number
ORDER BY 1, 2

Lásd még:

Azure Synapse Analytics és párhuzamos adattárház-katalógusnézetek
CREATE COLUMNSTORE INDEX (Transact-SQL)
sys.pdw_nodes_column_store_segments (Transact-SQL)
sys.pdw_nodes_column_store_dictionaries (Transact-SQL)