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"
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 |