Re: ¿PostgreSQL tiene algun sistema de cache interno?

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Ing (dot) Marcos Luís Ortíz Valmaseda <mlortiz(at)uci(dot)cu>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ¿PostgreSQL tiene algun sistema de cache interno?
Date: 2009-10-16 16:51:23
Message-ID: 20091016165123.GB4505@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

"Ing . Marcos Luís Ortíz Valmaseda" escribió:
> Saludos listeros. Me surge la duda si PostgreSQL en su
> implementación interna, tiene alguna especie de cache interna. O sea
> cuando se va a ejecutar una consulta por primera vez, si se tiene un
> sistema de cache ésta se debería ejecutar lento, pero cuando se
> ejecute de nuevo, debería ser por lo menos un 20 % más rápida (en
> algún caso).
> Cuando se establece la comunicación entre el planner/optimizer y el
> executor, hay alguna forma de que se pueda guardar los caminos de
> las consultas ?
> Y entonces en caso de que se vaya a ejecutar de nuevo, si el
> resultado ya está cacheado o guardado en un directorio tmp (una
> idea) no sería más rápida la devolución de los resultados?

Postgres tiene varios caches, pero ninguno de ellos guarda resultados de
consultas. Uno de los caches puede explicar fácilmente un 20% de
aumento de rendimiento en algunas consultas: el cache de páginas de
disco. La primera vez las páginas deben ser leídas de disco, las veces
subsiguientes las páginas están en memoria (ya sea en cache del kernel o
en shared_buffers).

Si quieres "recordar" planes de ejecución, puedes usar PREPARE y
EXECUTE, pero no siempre es mejor que re-planear la consulta cada vez.

--
Alvaro Herrera http://www.amazon.com/gp/registry/3BP7BYG9PUGI8
"The ability to monopolize a planet is insignificant
next to the power of the source"

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Fabio Arias 2009-10-16 18:17:41 LENTITUD DELETE
Previous Message Ernesto Quiñones 2009-10-16 15:57:16 Mi presentación de como funciona PostgreSQL