DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD (Transact-SQL)DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD (Transact-SQL)

S’applique à :Applies to: ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse AnalyticsS’applique à :Applies to: ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics

Affiche le nombre de modifications incrémentielles dans les tables de base qui sont conservées pour les affichages matérialisés dans Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse).Displays the number of incremental changes in the base tables that are held for materialized views in Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse). Le taux de surcharge est calculé en tant que TOTAL_ROWS / MAX (1, BASE_VIEW_ROWS).The overhead ratio is calculated as TOTAL_ROWS / MAX (1, BASE_VIEW_ROWS).

Icône du lien de rubriqueConventions de la syntaxe Transact-SQL (Transact-SQL)Topic link icon Transact-SQL Syntax Conventions (Transact-SQL)

SyntaxeSyntax

DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ( " [ schema_name .] materialized_view_name  " )
[;]

Notes

Cette syntaxe n’est pas prise en charge par le pool SQL serverless (préversion) dans Azure Synapse Analytics.This syntax is not supported by serverless SQL pool (preview) in Azure Synapse Analytics.

ArgumentsArguments

schema_name schema_name
Nom du schéma auquel appartient la vue.Is the name of the schema to which the view belongs.

materialized_view_name materialized_view_name
Est le nom de l’affichage matérialisé.Is the name of the materialized view.

NotesRemarks

Pour garantir l’actualisation des vues matérialisées avec les modifications de données effectuées dans les tables de base, le moteur de l’entrepôt de données ajoute des lignes de suivi à chaque vue impactée pour refléter les modifications.To keep materialized views refreshed with data changes in base tables, data warehouse engine adds tracking rows to each affected view to reflect the changes. La sélection à partir d’une vue matérialisée inclut l’analyse de l’index columnstore cluster de la vue et l’application des modifications incrémentielles éventuelles.Selecting from a materialized view includes scanning the view's clustered columnstore index and applying any incremental changes.Les lignes de suivi (TOTAL_ROWS - BASE_VIEW_ROWS) sont conservées jusqu’à ce que les utilisateurs regénèrent (REBUILD) la vue matérialisée.  The tracking rows (TOTAL_ROWS - BASE_VIEW_ROWS) do not get eliminated until users REBUILD the materialized view.

La valeur overhead_ratio se calcule ainsi : TOTAL_ROWS/MAX(1, BASE_VIEW_ROWS).The overhead_ratio is calculated as TOTAL_ROWS/MAX(1, BASE_VIEW_ROWS). Une valeur élevée dégrade les performances SELECT.If it's high, SELECT performance will degrade.Les utilisateurs peuvent regénérer la vue matérialisée pour réduire son taux de charge.  Users can rebuild the materialized view to reduce its overhead ratio.

AutorisationsPermissions

Requiert l'autorisation VIEW DATABASE STATE.Requires VIEW DATABASE STATE permission.

ExemplesExamples

R.A. Cet exemple retourne le taux de charge d’une vue matérialisée.This example returns the overhead ratio of a materialized view.

DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ( "dbo.MyIndexedView" )

Sortie :Output:

OBJECT_IDOBJECT_ID BASE_VIEW_ROWSBASE_VIEW_ROWS TOTAL_ROWSTOTAL_ROWS OVERHEAD_RATIOOVERHEAD_RATIO
12341234 11 33 3.03.0

B.B. Cet exemple montre l’augmentation de la charge de la vue matérialisée au fur et à mesure que des données sont modifiées dans les tables de baseThis example shows how the materialized view overhead increases as data changes in base tables

Créer une tableCreate a table

CREATE TABLE t1 (c1 INT NOT NULL, c2 INT NOT NULL, c3 INT NOT NULL)

Ajouter cinq lignes à t1Insert five rows to t1

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) 

Créer des vues matérialisées MV1Create materialized views MV1

CREATE MATERIALIZED VIEW MV1 
WITH (DISTRIBUTION = HASH(c1))  
AS
SELECT c1, COUNT(*) total_number 
FROM dbo.t1 WHERE c1 < 3
GROUP BY c1  

La sélection à partir de la vue matérialisée retourne deux lignes.Selecting from the materialized view returns two rows.

c1c1 total_numbertotal_number
11 11
22 11

Vérifiez la charge de la vue matérialisée avant toute modification de données dans la table de base.Check the materialized view overhead before any data changes in the base table.

DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")

Sortie :Output:

OBJECT_IDOBJECT_ID BASE_VIEW_ROWSBASE_VIEW_ROWS TOTAL_ROWSTOTAL_ROWS OVERHEAD_RATIOOVERHEAD_RATIO
587149137587149137 22 22 1.000000000000000001.00000000000000000

Mettez à jour la table de base.Update the base table. Cette requête met à jour la même colonne dans la même ligne 100 fois avec la même valeur.This query updates the same column in the same row 100 times to the same value. Le contenu de la vue matérialisée ne change pas.The materialized view content does not change.

DECLARE @p INT
SELECT @p = 1
WHILE (@p < 101)
BEGIN
UPDATE t1 SET c1 = 1 WHERE c1 = 1
SELECT @p = @p+1
END  

La sélection à partir de la vue matérialisée retourne le même résultat qu’avant.Selecting from the materialized view returns the same result as before.

c1c1 total_numbertotal_number
11 11
22 11

La sortie de DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1") est présentée ci-dessous.Below is the output from DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1"). 100 lignes sont ajoutées à la vue matérialisée (total_row - base_view_rows) et la valeur overhead_ratio est augmentée.100 rows are added to the materialized view (total_row - base_view_rows) and its overhead_ratio is increased.

OBJECT_IDOBJECT_ID BASE_VIEW_ROWSBASE_VIEW_ROWS TOTAL_ROWSTOTAL_ROWS OVERHEAD_RATIOOVERHEAD_RATIO
587149137587149137 22 102102 51.0000000000000000051.00000000000000000

Après la regénération de la vue matérialisée, toutes les lignes de suivi des modifications incrémentielles de données sont supprimées, et le taux de charge de la vue est réduit.After rebuilding the materialized view, all tracking rows for incremental data changes are eliminated and the view overhead ratio is reduced.

ALTER MATERIALIZED VIEW dbo.MV1 REBUILD
GO
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")

SortieOutput

OBJECT_IDOBJECT_ID BASE_VIEW_ROWSBASE_VIEW_ROWS TOTAL_ROWSTOTAL_ROWS OVERHEAD_RATIOOVERHEAD_RATIO
587149137587149137 22 22 1.000000000000000001.00000000000000000

Voir aussiSee also

Réglage des performances avec une vue matérialisée Performance tuning with Materialized View
CREATE MATERIALIZED VIEW AS SELECT (Transact-SQL) CREATE MATERIALIZED VIEW AS SELECT (Transact-SQL)
ALTER MATERIALIZED VIEW (Transact-SQL) ALTER MATERIALIZED VIEW (Transact-SQL)
EXPLAIN (Transact-SQL) EXPLAIN (Transact-SQL)
sys.pdw_materialized_view_column_distribution_properties (Transact-SQL) sys.pdw_materialized_view_column_distribution_properties (Transact-SQL)
sys.pdw_materialized_view_distribution_properties (Transact-SQL) sys.pdw_materialized_view_distribution_properties (Transact-SQL)
sys.pdw_materialized_view_mappings (Transact-SQL) sys.pdw_materialized_view_mappings (Transact-SQL)
Vues de catalogue Azure Synapse Analytics et Parallel Data Warehouse Azure Synapse Analytics and Parallel Data Warehouse Catalog Views
Vues système prises en charge dans Azure Synapse Analytics System views supported in Azure Synapse Analytics
Instructions T-SQL prises en charge dans Azure Synapse AnalyticsT-SQL statements supported in Azure Synapse Analytics