X-Original-To: pgsql-performance-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id DB55A54B61 for ; Wed, 11 May 2005 10:46:18 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 11310-06 for ; Wed, 11 May 2005 13:46:15 +0000 (GMT) Received: from tht.net (vista.tht.net [216.126.88.2]) by svr1.postgresql.org (Postfix) with ESMTP id 88C9B53C62 for ; Wed, 11 May 2005 10:46:12 -0300 (ADT) Received: from 216-154-12-152.dsl.look.ca (216-154-12-152.dsl.look.ca [216.154.12.152]) by tht.net (Postfix) with ESMTP id 021B276A22; Wed, 11 May 2005 09:43:23 -0400 (EDT) Subject: Re: Prefetch From: Rod Taylor To: Christopher Kings-Lynne Cc: pgsql-performance@postgresql.org, molson@oceanconsulting.com, Sam Vilain In-Reply-To: <42818FB1.4060403@familyhealth.com.au> References: <200505100652.51401.molson@oceanconsulting.com> <42818B2E.8060403@vilain.net> <42818FB1.4060403@familyhealth.com.au> Content-Type: text/plain Date: Wed, 11 May 2005 09:42:30 -0400 Message-Id: <1115818950.725.6.camel@home> Mime-Version: 1.0 X-Mailer: Evolution 2.2.2 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests= X-Spam-Level: X-Archive-Number: 200505/201 X-Sequence-Number: 12365 On Wed, 2005-05-11 at 12:53 +0800, Christopher Kings-Lynne wrote: > > Another trick you can use with large data sets like this when you want > > results > > back in seconds is to have regularly updated tables that aggregate the data > > along each column normally aggregated against the main data set. > > > Maybe some bright person will prove me wrong by posting some working > > information about how to get these apparently absent features working. > > Most people just use simple triggers to maintain aggregate summary tables... Agreed. I've also got a view which calls a function that will 1) use the summary table where data exists, or 2) calculate the summary information, load it into summary table, and send a copy to the client (partial query results cache). It's not all nicely abstracted behind user friendly syntax, but most of those features can be cobbled together (with effort) in PostgreSQL. --