PostgreSQL combines both parses into one, so every new query is effectively a hard parse (unless it's prepared, then there is no parse or optimization at all).
On Tue, Nov 15, 2005 at 07:33:46PM +0100, Marcus Engene wrote: > Hi list. > > I've mostly used Oracle in the past, but for a web-project I took the > opportunity to try Postgres. > > When a select is done in Oracle, it first checks if the select is cached > (ie parsed tree, optimizer choices & such). It does this by > [functionality equal to] a byte to byte compare with the other sql strings. > > select a from b where c = 1 > select a from b where c = 2 > > ...will thus force a hard parse on the second select. But if using bind > variables it wont as the string stored is something like > > select a from b where c = ? > > Which will be the same as the second call. There is quite a big > difference in performance using bind variables. > > Does Postgres work the same? Where can I go for more info? > > Oracle recently gave some money to Zend to make proper Oracle support > for PHP. In that interface they use bind variables. Apart from greater > speed, sqlinjection becomes history as well. > > Best regards, > Marcus > > > ---------------------------(end of broadcast)--------------------------- > TIP 6: explain analyze is your friend >