DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD (Transact-SQL)
S’applique à : Azure 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. Le taux de surcharge est calculé en tant que TOTAL_ROWS / MAX (1, BASE_VIEW_ROWS).
Conventions de la syntaxe Transact-SQL
Syntaxe
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ( "[ schema_name . ] materialized_view_name" )
[;]
Notes
Cette syntaxe n’est pas prise en charge par le pool SQL serverless dans Azure Synapse Analytics.
Arguments
schema_name
Nom du schéma auquel appartient la vue.
materialized_view_name
Nom de la vue matérialisée.
Notes
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. 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. 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.
La valeur overhead_ratio se calcule ainsi : TOTAL_ROWS / MAX(1, BASE_VIEW_ROWS). Une valeur élevée dégrade les performances SELECT. Les utilisateurs peuvent regénérer la vue matérialisée pour réduire son taux de charge.
Autorisations
Requiert l'autorisation VIEW DATABASE STATE.
Exemples
R. Cet exemple retourne le taux de charge d’une vue matérialisée.
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.MyIndexedView");
Exemple de sortie :
OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
---|---|---|---|
1234 | 1 | 3 | 3.0 |
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 base
Créer une table :
CREATE TABLE t1 (c1 INT NOT NULL, c2 INT NOT NULL, c3 INT NOT NULL);
Ajouter cinq lignes dans 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 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.
c1 | total_number |
---|---|
1 | 1 |
2 | 1 |
Vérifiez la charge de la vue matérialisée avant toute modification de données dans la table de base.
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")
Exemple de sortie :
OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
---|---|---|---|
587149137 | 2 | 2 | 1.00000000000000000 |
Mettez à jour la table de base. Cette requête met à jour la même colonne dans la même ligne 100 fois avec la même valeur. Le contenu de la vue matérialisée ne change pas.
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.
c1 | total_number |
---|---|
1 | 1 |
2 | 1 |
Vous trouverez ci-dessous la sortie de 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.
OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
---|---|---|---|
587149137 | 2 | 102 | 51.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.
ALTER MATERIALIZED VIEW dbo.MV1 REBUILD
GO
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")
Sortie
| OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
| --- | --- | --- | --- |
| 587149137 | 2 | 2 | 1.00000000000000000 |
Voir aussi
- Réglage des performances avec une vue matérialisée
- 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)
- Vues de catalogue Azure Synapse Analytics et Parallel Data Warehouse
- Vues système prises en charge dans Azure Synapse Analytics
- Instructions T-SQL prises en charge dans Azure Synapse Analytics