Re: merge>hash>loop - Mailing list pgsql-performance

From Jim C. Nasby
Subject Re: merge>hash>loop
Date
Msg-id 20060420162732.GX49405@pervasive.com
Whole thread Raw
In response to Re: merge>hash>loop  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-performance
On Wed, Apr 19, 2006 at 01:25:28AM -0400, Tom Lane wrote:
> Mark Kirkwood <markir@paradise.net.nz> writes:
> > Jim C. Nasby wrote:
> >> Good point. :/ I'm guessing there's no easy way to see how many blocks
> >> for a given relation are in shared memory, either...
>
> > contrib/pg_buffercache will tell you this -
>
> I think the key word in Jim's comment was "easy", ie, cheap.  Grovelling
> through many thousands of buffers to count the matches to a given
> relation doesn't sound appetizing, especially not if it gets done over
> again several times during each query-planning cycle.  Trying to keep
> centralized counts somewhere would be even worse (because of locking/
> contention issues).

Very true. OTOH, it might not be unreasonable to periodically slog
through the buffers and store that information, perhaps once a minute,
or every X number of transactions.

I think a bigger issue is that we currently have no way to really
measure the effictiveness of the planner. Without that it's impossible
to come up with any real data on whether cost formula A is better or
worse than cost formula B. The only means I can think of for doing this
would be to measure estimated cost vs actual cost, but with the overhead
of EXPLAIN ANALYZE and other variables that might not prove terribly
practical. Maybe someone else has some ideas...
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461

pgsql-performance by date:

Previous
From: "Radovan Antloga"
Date:
Subject: Re: Performance decrease
Next
From: "Jim C. Nasby"
Date:
Subject: Re: SELECT FOR UPDATE performance is bad