bind variables, soft vs hard parse

From: Marcus Engene <mengpg(at)engene(dot)se>
To: pgsql-hackers(at)postgresql(dot)org
Subject: bind variables, soft vs hard parse
Date: 2005-11-15 18:33:46
Message-ID: 437A2A0A.6050104@engene.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message mark 2005-11-15 18:46:48 Re: MERGE vs REPLACE
Previous Message Josh Berkus 2005-11-15 18:27:10 Re: MERGE vs REPLACE