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
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 |