Lukas Smith wrote:
> Bruce Momjian wrote:
> 
> >> 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.
> > 
> > What the Oralce manual means I think is that the plan of the query is
> > delayed until the _first_ EXECUTE, so it has some values to use in the
> > optimizer.  The problem is that later queries might use constants of
> > greatly different cardinality.
> 
> ok .. which just goes to tell to not use prepared statements for a 
> column with highly varying selectivity ..?
> 
> or is there a realistic shot at fixing this use case?

It is an issue for all databases.  We gave a TODO about it:

        * Flush cached query plans when the dependent objects change,
          when the cardinality of parameters changes dramatically, or
          when new ANALYZE statistics are available


-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to