DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD (Transact-SQL)
Aplica-se a: Azure Synapse Analytics
Exibe o número de alterações incrementais nas tabelas de base mantidas para exibições materializadas no Azure Synapse Analytics. A taxa de sobrecarga é calculada como TOTAL_ROWS / MAX (1, BASE_VIEW_ROWS).
Convenções de sintaxe Transact-SQL
Sintaxe
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ( "[ schema_name . ] materialized_view_name" )
[;]
Observação
Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.
Argumentos
schema_name
O nome do esquema ao qual a exibição pertence.
materialized_view_name
O nome da exibição materializada.
Comentários
Para manter as exibições materializadas atualizadas com as alterações de dados nas tabelas base, o mecanismo do data warehouse adiciona linhas de acompanhamento a cada exibição afetada para refletir as alterações. A seleção de uma exibição materializada inclui a verificação do índice columnstore clusterizado da exibição e a aplicação de alterações incrementais. As linhas de acompanhamento (TOTAL_ROWS - BASE_VIEW_ROWS) não são eliminadas enquanto os usuários não recompilam a exibição materializada.
O valor de overhead_ratio é calculado como TOTAL_ROWS/MAX (1, BASE_VIEW_ROWS). Se ela for alta, o desempenho de SELECT será prejudicado. Os usuários podem recompilar a exibição materializada para reduzir a taxa de sobrecarga.
Permissões
Exige a permissão VIEW DATABASE STATE.
Exemplos
a. Este exemplo retorna a taxa de sobrecarga de uma exibição materializada.
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.MyIndexedView");
Saída de exemplo:
OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
---|---|---|---|
1234 | 1 | 3 | 3.0 |
B. Este exemplo mostra como a sobrecarga da exibição materializada aumenta conforme os dados são alterados nas tabelas base
Crie uma tabela:
CREATE TABLE t1 (c1 INT NOT NULL, c2 INT NOT NULL, c3 INT NOT NULL);
Insira cinco linhas em 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);
Crie exibições materializadas MV1:
CREATE MATERIALIZED VIEW MV1
WITH (DISTRIBUTION = HASH(c1))
AS
SELECT c1, COUNT(*) total_number
FROM dbo.t1 WHERE c1 < 3
GROUP BY c1;
A seleção na exibição materializada retorna duas linhas.
c1 | total_number |
---|---|
1 | 1 |
2 | 1 |
Verifique a sobrecarga da exibição materializada antes de qualquer alteração de dados na tabela base.
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")
Saída de exemplo:
OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
---|---|---|---|
587149137 | 2 | 2 | 1,00000000000000000 |
Atualize a tabela base. Essa consulta atualiza a mesma coluna na mesma linha 100 vezes para o mesmo valor. O conteúdo da exibição materializada não é alterado.
DECLARE @p INT;
SELECT @p = 1;
WHILE (@p < 101)
BEGIN
UPDATE t1 SET c1 = 1 WHERE c1 = 1;
SELECT @p = @p + 1;
END;
A seleção na exibição materializada retorna o mesmo resultado de antes.
c1 | total_number |
---|---|
1 | 1 |
2 | 1 |
Veja abaixo a saída de DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")
. 100 linhas são adicionadas à exibição materializada (total_row – base_view_rows) e a overhead_ratio é aumentada.
OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
---|---|---|---|
587149137 | 2 | 102 | 51,00000000000000000 |
Depois de recriar a exibição materializada, todas as linhas de acompanhamento para alterações de dados incrementais são eliminadas e a taxa de sobrecarga de exibição é reduzida.
ALTER MATERIALIZED VIEW dbo.MV1 REBUILD
GO
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")
Saída
| OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
| --- | --- | --- | --- |
| 587149137 | 2 | 2 | 1.00000000000000000 |
Confira também
- Ajuste de desempenho com a Exibição Materializada
- 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)
- Exibições de Catálogo do Azure Synapse Analytics e do Parallel Data Warehouse
- Exibições do sistema com suporte no Azure Synapse Analytics
- Instruções T-SQL com suporte no Azure Synapse Analytics