DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD (Transact-SQL)
Se aplica a:Azure Synapse Analytics
Muestra el número de cambios incrementales en las tablas base que se mantienen para las vistas materializadas en Azure Synapse Analytics. La proporción de sobrecarga se calcula como TOTAL_ROWS / MAX (1, BASE_VIEW_ROWS).
Convenciones de sintaxis de Transact-SQL
Sintaxis
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ( "[ schema_name . ] materialized_view_name" )
[;]
Nota:
El grupo de SQL sin servidor no admite esta sintaxis en Azure Synapse Analytics.
Argumentos
schema_name
El nombre del esquema al que pertenece la vista.
materialized_view_name
El nombre de la vista materializada.
Comentarios
Para mantener las vistas materializadas actualizadas con cambios en los datos de las tablas base, el motor de almacenamiento de datos agrega filas de seguimiento a cada vista afectada para reflejar los cambios. La selección a partir de una vista materializada incluye el análisis del índice de almacén de columnas agrupado de la vista y la aplicación de cualquier cambio incremental. Las filas de seguimiento (TOTAL_ROWS-BASE_VIEW_ROWS) no se eliminarán hasta que los usuarios vuelvan a generar la vista materializada.
El valor overhead_ratio se calcula como TOTAL_ROWS/MAX(1, BASE_VIEW_ROWS). Si es alto, el rendimiento de SELECT se degradará. Los usuarios pueden volver a generar la vista materializada para reducir su proporción de sobrecarga.
Permisos
Necesita el permiso VIEW DATABASE STATE.
Ejemplos
A. En este ejemplo se devuelve la proporción de sobrecarga de una vista materializada.
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.MyIndexedView");
Resultados del ejemplo:
OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
---|---|---|---|
1234 | 1 | 3 | 3.0 |
B. Este ejemplo se muestra cómo aumenta la sobrecarga de la vista materializada a medida que cambian los datos en las tablas base
Creación de una tabla:
CREATE TABLE t1 (c1 INT NOT NULL, c2 INT NOT NULL, c3 INT NOT NULL);
Inserción de cinco filas en 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);
Creación de vistas 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;
La selección desde la vista materializada devuelve dos filas.
c1 | total_number |
---|---|
1 | 1 |
2 | 1 |
Compruebe la sobrecarga de la vista materializada antes de realizar cualquier cambio en los datos de la tabla base.
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")
Resultados del ejemplo:
OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
---|---|---|---|
587149137 | 2 | 2 | 1,00000000000000000 |
Actualice la tabla base. Esta consulta actualiza 100 veces al mismo valor la misma columna de la misma fila. El contenido de la vista materializada no cambia.
DECLARE @p INT;
SELECT @p = 1;
WHILE (@p < 101)
BEGIN
UPDATE t1 SET c1 = 1 WHERE c1 = 1;
SELECT @p = @p + 1;
END;
La selección de la vista materializada devuelve el mismo resultado que antes.
c1 | total_number |
---|---|
1 | 1 |
2 | 1 |
Ahora, se muestra la salida de DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")
. Se agregan 100 filas a la vista materializada (total_row-base_view_rows) y aumenta su valor overhead_ratio.
OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
---|---|---|---|
587149137 | 2 | 102 | 51,00000000000000000 |
Después de volver a generar la vista materializada, se eliminan todas las filas de seguimiento de los cambios de datos incrementales y se reduce la proporción de sobrecarga de la vista.
ALTER MATERIALIZED VIEW dbo.MV1 REBUILD
GO
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")
Resultados
| OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
| --- | --- | --- | --- |
| 587149137 | 2 | 2 | 1.00000000000000000 |
Vea también
- Optimización del rendimiento con vista 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)
- Vistas de catálogo de Azure Synapse Analytics y Almacenamiento de datos paralelos
- Vistas del sistema admitidas en Azure Synapse Analytics
- Instrucciones T-SQL admitidas en Azure Synapse Analytics