DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD (Transact-SQL)
Gilt für: Azure Synapse Analytics
Dies zeigt die Anzahl inkrementeller Änderungen in den Basistabellen an, die für die materialisierten Sichten in Azure Synapse Analytics gespeichert werden. Das Overheadverhältnis wird als TOTAL_ROWS / MAX (1, BASE_VIEW_ROWS) berechnet.
Transact-SQL-Syntaxkonventionen
Syntax
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ( "[ schema_name . ] materialized_view_name" )
[;]
Hinweis
Diese Syntax wird vom serverlosen SQL-Pool in Azure Synapse Analytics nicht unterstützt.
Argumente
schema_name
Ist der Name des Schemas, zu dem die Sicht gehört
materialized_view_name
Der Name der materialisierten Sicht.
Hinweise
Die Data Warehouse-Engine fügt zu jeder betroffenen Sicht Nachverfolgungszeilen zur Darstellung der Änderungen hinzu, damit materialisierte Sichten stets mit Datenänderungen in Basistabellen aktualisiert werden. Die Auswahl einer materialisierten Sicht schließt das Überprüfen des gruppierten Columnstore-Index der Sicht und das Anwenden inkrementeller Änderungen ein. Die Nachverfolgungszeilen (TOTAL_ROWS - BASE_VIEW_ROWS) werden erst gelöscht, wenn Benutzer*innen die materialisierte Sicht neu erstellen (REBUILD).
Das Overheadverhältnis wird als TOTAL_ROWS / MAX (1, BASE_VIEW_ROWS) berechnet. Wenn der Wert hoch ist, wird die SELECT-Leistung beeinträchtigt. Benutzer können die materialisierte Sicht neu erstellen, um das Overheadverhältnis zu verringern.
Berechtigungen
Erfordert die VIEW DATABASE STATE-Berechtigung
Beispiele
A. Dieses Beispiel gibt das Overheadverhältnis einer materialisierten Sicht zurück.
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.MyIndexedView");
Beispielausgabe:
OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
---|---|---|---|
1234 | 1 | 3 | 3.0 |
B. Dieses Beispiel zeigt, wie sich der Overhead der materialisierten Sicht vergrößert, wenn sich Daten in Basistabellen ändern.
Erstellen einer Tabelle:
CREATE TABLE t1 (c1 INT NOT NULL, c2 INT NOT NULL, c3 INT NOT NULL);
Fügen Sie fünf Zeilen in t1
ein:
INSERT INTO t1 VALUES (1, 1, 1);
INSERT INTO t1 VALUES (2, 2, 2);
INSERT INTO t1 VALUES (3, 3, 3);
INSERT INTO t1 VALUES (4, 4, 4);
INSERT INTO t1 VALUES (5, 5, 5);
Erstellen Sie materialisierter Sichten (MV1):
CREATE MATERIALIZED VIEW MV1
WITH (DISTRIBUTION = HASH(c1))
AS
SELECT c1, COUNT(*) total_number
FROM dbo.t1 WHERE c1 < 3
GROUP BY c1;
Bei der Auswahl aus der materialisierten Sicht werden zwei Zeilen zurückgegeben.
c1 | total_number |
---|---|
1 | 1 |
2 | 1 |
Überprüfen Sie vor der Änderung von Daten in der Basistabelle den Overhead der materialisierten Sicht.
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")
Beispielausgabe:
OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
---|---|---|---|
587149137 | 2 | 2 | 1,00000000000000000 |
Aktualisieren Sie die Basistabelle. Diese Abfrage aktualisiert dieselbe Spalte in derselben Zeile 100 mal mit demselben Wert. Der Inhalt der materialisierten Sicht ändert sich nicht.
DECLARE @p INT;
SELECT @p = 1;
WHILE (@p < 101)
BEGIN
UPDATE t1 SET c1 = 1 WHERE c1 = 1;
SELECT @p = @p + 1;
END;
Bei der Auswahl aus der materialisierten Sicht wird dasselbe Ergebnis wie zuvor zurückgegeben.
c1 | total_number |
---|---|
1 | 1 |
2 | 1 |
Unten sehen Sie die Ausgabe von DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")
. Der materialisierten Sicht werden 100 Zeilen hinzugefügt (total_row - base_view_rows), und das Overheadverhältnis (overhead_ratio) wird erhöht.
OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
---|---|---|---|
587149137 | 2 | 102 | 51,00000000000000000 |
Nachdem die materialisierte Sicht neu erstellt wurde, werden alle Nachverfolgungszeilen für Änderungen inkrementeller Daten gelöscht, und das Overheadverhältnis der Sicht wird verringert.
ALTER MATERIALIZED VIEW dbo.MV1 REBUILD
GO
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")
Output
| OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
| --- | --- | --- | --- |
| 587149137 | 2 | 2 | 1.00000000000000000 |
Siehe auch
- Leistungsoptimierung durch materialisierte Sicht
- CREATE MATERIALIZED VIEW AS SELECT (Transact-SQL)
- ALTER MATERIALIZED VIEW (Transact-SQL)
- EXPLAIN (Transact-SQL)
- sys.pdw_materialized_view_column_distribution_properties (Transact-SQL)
- sys.pdw_materialized_view_distribution_properties (Transact-SQL)
- sys.pdw_materialized_view_mappings (Transact-SQL)
- Katalogsichten von Azure Synapse Analytics und Parallel Data Warehouse Catalog
- In Azure Synapse Analytics unterstützte Systemansichten
- In Azure Synapse Analytics unterstützte T-SQL-Anweisungen