Обсуждение: Query optimizer & prepared statements
If x is an integer column with an index, then select ... from T where x > 1 and select ... from T where x > 1000000000 could be optimized differently. So how is optimization done for a prepared statement containing a variable, e.g. select ... from T where x > $1 Jack Orenstein
> > select ... > from T > where x > $1 > prepare testy_prepare(int) as select * from T where x = $1; execute testy_prepare(4); Follow the docs :) http://www.postgresql.org/docs/8.1/interactive/sql-prepare.html -- Emanuel Calvo Franco ArPUG [www.arpug.com.ar] / AOSUG Member www.emanuelcalvofranco.com.ar
Jack Orenstein wrote: > If x is an integer column with an index, then > > select ... > from T > where x > 1 > > and > > select ... > from T > where x > 1000000000 > > could be optimized differently. So how is optimization done for a > prepared statement containing a variable, e.g. > > select ... > from T > where x > $1 http://www.postgresql.org/docs/current/static/sql-prepare.html#AEN58703 explains this. If your parameter is a unique key, then you won't see any difference. If your parameter is a non-unique key, there may be differences depending on your data/distribution etc. -- Postgresql & php tutorials http://www.designmagick.com/