Re: forma correcta de usar materialized views.

From: Emanuel Calvo <3manuek(at)gmail(dot)com>
To: horaciod(at)gmail(dot)com
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: forma correcta de usar materialized views.
Date: 2018-07-01 01:02:57
Message-ID: CAJeAsn9+j-Zhtfu=ddvVyFpzz-BuRFdyEXaLtemrbPLrFNLhbA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

La cantidad de registros no dice nada, es el tamaño de los campos lo
que hará que se lean más bloques de disco.
Estima que los tests en tu máquina generalmente van a correr más
lentos que en producción. Yo miraría otras formas
de trabajar con XML (https://wiki.postgresql.org/wiki/XML_Support) y
luego ver si utilizar pg_trgm. De hecho, creo que
tsvector/tsquery (FTS) puede ser más rápido e incluso sea un poco
mejor para autocomplete.

Lo del REFRESH dependerá que tan actualizados quieras los datos.
Cualquier forma es válida para ejecutarlo. Ten en cuenta
que puedes usar concurrently para evitar bloqueos:

REFRESH MATERIALIZED VIEW CONCURRENTLY tabla_autocomplete;

El mié., 27 jun. 2018 a las 12:04, Horacio Degiorgi
(<horaciod(at)gmail(dot)com>) escribió:
>
> Hola a todos:
> Es la primera vez te tengo voy a usar materialized views con una base de datos grande y funciones.
> El esquema es el siguiente:
> - tengo una tabla con una columna xml (donde se almacenan registros marcXML (bibliográficos) )
> - de dicha columna extraigo mediante una vista materializada datos que servirán luego para realizar un autocomplete en la aplicación.
> Las funciones para extraer las valores son complejas y algo costosas. Demora 50 segundos en extraer los datos desde 340mil registros en mi hard. Uso además la extensión pg_trm.
> Una vez que la vista se ha refrescado el sistema funciona perfecto y la extensión pg_trm hace el trabajo perfecto para mi aplicación.
>
> Pregunta:
> Como es la forma correcta de realizar el refresh materialized ? desde la aplicación ? mediante un llamado cron ? se puede hacer en forma parcial, por ejemplo de solo los registros actualizados ?
>
> Tengo que tener algo más en cuenta como bloqueos cuando se hace el refresh ?
>
>
> Lic. Horacio Degiorgi
> http://bdigital.uncu.edu.ar
> http://sid.uncu.edu.ar
> Mendoza - Argentina

--
--
Emanuel Calvo
Sr. Consultant at OnGres
Team Building at Ayres.io

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Horacio Degiorgi 2018-07-01 22:36:39 Re: forma correcta de usar materialized views.
Previous Message Emanuel Calvo 2018-07-01 00:37:56 Re: agente de postgres