Re: Automatic function replanning

From: Lukas Smith <smith(at)pooteeweet(dot)org>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Automatic function replanning
Date: 2005-12-22 20:48:51
Message-ID: dof3fj$or1$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2005-12-22 20:53:03 Re: Automatic function replanning
Previous Message Martijn van Oosterhout 2005-12-22 20:18:26 Re: [Bizgres-general] WAL bypass for INSERT, UPDATE and DELETE?