Actualización de vistas materializadas - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Actualización de vistas materializadas

Una vista materializada contiene una instantánea del resultado de la consulta. Las vistas materializadas no se actualizan periódicamente, a menos que configure Amazon Redshift para que realice actualizaciones periódicas. Para actualizar los datos en una vista materializada, puede utilizar la instrucción REFRESH MATERIALIZED VIEW en cualquier momento. Este comando identifica los cambios que tuvieron lugar en las tablas base y aplica estos cambios a la vista materializada.

Hay dos formas de actualizar una vista materializada: una actualización manual y una actualización automática (denominadaautoactualización). En la siguiente consulta de ejemplo, se muestra cómo actualizar manualmente una vista materializada:

REFRESH MATERIALIZED VIEW mv_total_orders;

Para actualizar automáticamente una vista materializada, agregue la cláusula AUTO REFRESH YES a la instrucción CREATE MATERIALIZED VIEW, como se muestra en el siguiente ejemplo:

CREATE MATERIALIZED VIEW mv_total_orders AUTO REFRESH YES -- Add this clause to auto refresh the MV AS SELECT c.cust_id, c.first_name, sum(o.amount) as total_amount FROM orders o JOIN customer c ON c.cust_id = o.customer_id GROUP BY c.cust_id, c.first_name;

Amazon Redshift actualiza automáticamente las vistas materializadas inmediatamente después de los cambios en las tablas base. Para minimizar el impacto de las cargas de trabajo activas en el clúster al procesar la actualización, Amazon Redshift tiene en cuenta los siguientes factores:

  • La carga actual del sistema

  • Los recursos necesarios para una actualización

  • Los recursos de clúster disponibles

  • La frecuencia con que se utilizan las vistas materializadas

Amazon Redshift prioriza las cargas de trabajo antes que la actualización automática y es posible que detenga la autoactualización para preservar el rendimiento de la carga de trabajo del usuario. Tenga en cuenta que este enfoque puede retrasar las actualizaciones de algunas vistas materializadas. Para ver el estado de la actualización, puede comprobar la vista SVL_MV_REFRESH_STATUS. Esta vista registra las consultas iniciadas por el usuario o que se actualizan automáticamente.