| From: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
|---|---|
| To: | Roland Roberts <roland(at)astrofoto(dot)org> |
| Cc: | pgsql-jdbc(at)postgresql(dot)org |
| Subject: | Re: Very strange performance decrease when reusing a PreparedStatement |
| Date: | 2009-05-06 21:59:54 |
| Message-ID: | 1241647194.6109.52.camel@ebony.2ndQuadrant |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-jdbc |
On Sun, 2009-05-03 at 15:08 -0400, Roland Roberts wrote:
> At least PostgreSQL has the ability to tell the parser to reparse
> every time you ask it to prepare the statement. Oracle doesn't. The
> solution for Oracle isn't relevant, but the real point here is that
> your code may have to become smarter to help out the optimizer. We
> reparse on every execution, but can't control Oracle's server-side
> cache. PostgreSQL lets you control that with prepareThreshold=0. If
> we'd had that option with Oracle, we would have had an easy solution.
> I'd say PostgreSQL's implementation for this case is a good one.
We have a good feature there, definitely. Although there is still more
to be done.
Oracle's cursor_sharing features are slightly ahead of Postgres,
specifically around the "SIMILAR" option.
We talked a few years back about an "Option node" that would select
sub-plans at runtime based upon the actual values of the bind variable.
Nobody's got around to doing anything with that yet.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Training, Services and Support
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2009-05-06 22:39:08 | Re: Very strange performance decrease when reusing a PreparedStatement |
| Previous Message | John Lister | 2009-05-06 21:25:29 | Re: Unit test patches |