Re: Automatic function replanning - Mailing list pgsql-hackers

From Lukas Smith
Subject Re: Automatic function replanning
Date
Msg-id dof3fj$or1$1@news.hub.org
Whole thread Raw
In response to Re: Automatic function replanning  ("Jim C. Nasby" <jnasby@pervasive.com>)
Responses Re: Automatic function replanning  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
Jim C. Nasby wrote:

> Now, if both of these are done using a prepared statement, it's going to
> look like:
> 
> SELECT * FROM queue WHERE status='?';
> 
> If the first one to run is the queue processing one, the planner will
> probably choose the index. This means that when we're searching on 'N',
> there will be a fairly small number of tuples read to execute the query,
> but when searching for 'D' a very large number of tuples will be read.

I do not know how exactly how pg handles this internally, however while 
skimming the oracle tuning pocket guide I picked up for 2 euros I 
noticed that it mentioned that since oracle 9i bound parameter values 
are evaluated before the execution plan is determined.

Maybe I am mixing up separate concepts (are bound variables and prepared 
statements different concepts?) here. I also do not really understand if 
that means that oracle does not store a query plan for a prepared query 
or if it just does some special handling in case it knows that a 
prepared statement column is known to have a highly varying selectivity 
per value.

regards,
Lukas


pgsql-hackers by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: [Bizgres-general] WAL bypass for INSERT, UPDATE and DELETE?
Next
From: Bruce Momjian
Date:
Subject: Re: Automatic function replanning