Re: difference on execution time between prepared statement in pgAdmin and through JDBC Stack

From: Maciek Sakrejda <msakrejda(at)truviso(dot)com>
To: Lars Feistner <feistner(at)justis(dot)de>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: difference on execution time between prepared statement in pgAdmin and through JDBC Stack
Date: 2011-02-24 18:38:25
Message-ID: AANLkTinQ1C0nuBcp40UFaqJJ30EnZcGyy6RO2XFtFozW@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

A named prepared statement (which you seem to be using through
pgAdmin) is *not* the same thing as a PreparedStatement in JDBC. Most
pertinently, JDBC is using an unnamed portal to execute the query,
which delays planning until the parameters are provided. I don't think
this ever happens with a named prepared statement (it would help if
you provided server-side logs for the pgAdmin execution as well). The
deferred planning behavior typically works to your advantage, but you
may have run into some edge case here.

Alternately, because the unnamed portal execution actually also does
the planning, I presume it's counted in the time of the statement
execution, whereas in the pgAdmin case, it looks like you're only
timing the execute, which is going against an already-planned (at
prepare time) query, so you may be comparing apples to oranges.

---
Maciek Sakrejda | System Architect | Truviso

1065 E. Hillsdale Blvd., Suite 215
Foster City, CA 94404
(650) 242-3500 Main
www.truviso.com

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Lars Feistner 2011-02-24 19:10:16 difference on execution time between prepared statement in pgAdmin and through JDBC Stack
Previous Message Dave Cramer 2011-02-24 17:43:29 Re: Slow query execution over WAN network