Re: BUG #1334: PREPARE creates bad execution plan (40x

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: "Jim C. Nasby" <decibel@decibel.org>
Cc: Neil Conway <neilc@samurai.com>, "A. Steinmetz" <ast@domdv.de>, pgsql-bugs <pgsql-bugs@postgresql.org>
Date: 2004-12-01T03:53:23Z
Lists: pgsql-bugs
"Jim C. Nasby" <decibel@decibel.org> writes:
> FWIW this is a hard problem; Oracle is the only database I know of
> that's tackled it.

It seems fair to point out that this is the tradeoff you must buy into
when using PREPARE.  You can have a query plan that is tailored to the
specific parameter value you supply, or you can have a generic query
plan.  The tailored plan will cost you planning time; the generic plan
will save you planning time; but there's no free lunch.  If your table
statistics are such that you really need different plans for different
parameter values, then you shouldn't be using PREPARE.  I do not think
this is a database bug --- it looks more like DBA misuse of the
available tools.

			regards, tom lane