Re: bind variables, soft vs hard parse - Mailing list pgsql-hackers

From Jonah H. Harris
Subject Re: bind variables, soft vs hard parse
Date
Msg-id 36e682920511152238p32acbf81tc909085884fd73a8@mail.gmail.com
Whole thread Raw
In response to Re: bind variables, soft vs hard parse  ("Jim C. Nasby" <jnasby@pervasive.com>)
Responses Re: bind variables, soft vs hard parse
List pgsql-hackers
In some cases, Oracle will also replace literals with bind variables so that it can perform a sort-of-bind-value soft parse later.

 
On 11/15/05, Jim C. Nasby <jnasby@pervasive.com> wrote:
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
>

--
Jim C. Nasby, Sr. Engineering Consultant       jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

pgsql-hackers by date:

Previous
From: Michael Glaesemann
Date:
Subject: Re: Long-time 7.4 contrib failure Mac OS X 10.3.8
Next
From: Christopher Kings-Lynne
Date:
Subject: Re: bind variables, soft vs hard parse