Re: cache table

Поиск
Список
Период
Сортировка
От scott.marlowe
Тема Re: cache table
Дата
Msg-id Pine.LNX.4.33.0405040748311.30999-100000@css120.ihs.com
обсуждение исходный текст
Ответ на cache table  (Joseph Shraibman <jks@selectacast.net>)
Ответы Re: cache table  (Joseph Shraibman <jks@selectacast.net>)
Список pgsql-performance
On Mon, 3 May 2004, Joseph Shraibman wrote:

> I have a big table with some int fields.  I frequently need to do
> queries like:
>
> SELECT if2, count(*) FROM table WHERE if1 = 20 GROUP BY if2;
>
> The problem is that this is slow and frequently requires a seqscan. I'd
> like to cache the results in a second table and update the counts with
> triggers, but this would a) require another UPDATE for each
> INSERT/UPDATE which would slow down adding and updating of data and b)
> produce a large amount of dead rows for vacuum to clear out.
>
> It would also be nice if this small table could be locked into the pg
> cache somehow.  It doesn't need to store the data on disk because the
> counts can be generated from scratch?

I think you might be interested in materialized views.  You could create
this as a materialized view which should be very fast to just select *
from.

While materialized views aren't a standard part of PostgreSQL just yet,
there is a working implementation available from Jonathan Gardner at:

http://jonathangardner.net/PostgreSQL/materialized_views/matviews.html

It's all implemented with plpgsql and is quite interesting to read
through.  IT has a nice tutorial methodology to it.


В списке pgsql-performance по дате отправления:

Предыдущее
От: "Aaron Werman"
Дата:
Сообщение: Re: linux distro for better pg performance
Следующее
От: Joseph Shraibman
Дата:
Сообщение: Re: cache table