Re: Sobre Vistas Materializadas

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Jorge Tornero - Listas <jtorlistas(at)gmail(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Sobre Vistas Materializadas
Date: 2015-12-10 21:38:49
Message-ID: 20151210213849.GO2763@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Jorge Tornero - Listas escribió:
> Estimados todos:
>
> En una base de datos con la que trabajo he visto conveniente, aparentemente,
> pasar de emplear vistas a vistas materializadas, ya que los tiempos de
> consulta se me acortan drásticamente.
>
> Tengo vistas que dependen de otras vistas, y entiendo que en este caso una
> consulta a la última vista en la "cadena de vistas" actualiza las
> precedentes. Ahora bien, en las vistas materializadas no lo tengo tan claro,
> y me pregunto si hay alguna manera "estándar" de trabajar con vistas
> materializadas:
>
> * Si el orden de actualizado de las mismas importa (presumo que sí)
> * Si existen maneras de provocar esta actualización en cadena.
> * Si existen precauciones a tomar al trabajar con VM

El orden sí importa: si tienes una vm A que depende de una vm B, y
refrescas A, ese refresco va a usar los datos de B que estén vigentes en
ese momento; si a continuación refrescas B, la que refrescate antes va a
seguir como estaba hasta que vuelvas a refrescarla. Si necesitas datos
actualizados, debes refrescar B primero!

La otra alternativa es definir A de manera que no dependa de B, es
decir, "expandir" la consulta de B en la definición de A en vez de
confiar en la definición de B. Esto puede significar que el refresco de
A sea mucho más lento, tanto como al menos una ejecución del refresco de
B, así que realmente no creo que tenga mucho beneficio hacerlo de esta
manera. (La suposición es que el hecho de haber definido B basado en A
fue porque el refresco de B era más costoso).

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2015-12-10 22:43:43 Re: Sobre Vistas Materializadas
Previous Message Horacio Miranda 2015-12-10 11:20:15 Re: Sobre Vistas Materializadas