Re: FW: PreparedStatement#setString on non-string parameters - Mailing list pgsql-jdbc

From Antony Paul
Subject Re: FW: PreparedStatement#setString on non-string parameters
Date
Msg-id 2989532e050309011430062873@mail.gmail.com
Whole thread Raw
In response to Re: FW: PreparedStatement#setString on non-string parameters  ("Silvio Bierman" <sbierman@jambo-software.com>)
Responses Re: FW: PreparedStatement#setString on non-string parameters
List pgsql-jdbc
The performance difference I noticed when it is scanning a table of
150k records with a long query containing a lot of or conditions. The
difference is around 10-12 seconds. So I think it is not the time
taken to prepare the statement. I wasnt interested in further
investigation as we dropped the plan of upgrading still 8.x becomes
9-12 months old.

rgds
Antony Paul


On Wed, 9 Mar 2005 10:08:10 +0100, Silvio Bierman
<sbierman@jambo-software.com> wrote:
> Hello Antony,
>
> I honestly don't know. Oliver Jowett told me that the 8.0 driver is the
> first to use server side prepared statements, which is good I guess. I do
> not know the internals of PostgreSQL server statement caching but usually
> using server side prepared statements is faster than emulating prepared
> statements in the JDBC driver. In cases where statements are really
> exectuted once only and the PreparedStatement is used for parameter
> substitution convenience only (which is a very good reason, BTW) emulated
> statements are usually faster.
>
> I just tested with the 7.4 driver and that actually works fine. It also
> fixed the setString error I got when using the James mail server with the
> 8.0 driver...
>
> I can not say anything about performance in comparison to the 8.0 driver
> yet. Oliver mentioned poor blob-performance in the pre-8 protocol. I am not
> very happy with that since we use blobs quite frequently, be it that they
> are are never very large.
>
> I will be doing some tests with the 8.0 driver in combination with a
> implicit cast versus the 7.4 driver. I will keep you posted...
>
> Regards,
>
> Silvio Bierman
>
> @-----Original Message-----
> @From: pgsql-jdbc-owner@postgresql.org
> @[mailto:pgsql-jdbc-owner@postgresql.org]On Behalf Of Antony Paul
> @Sent: Wednesday, March 09, 2005 4:59 AM
> @To: Oliver Jowett
> @Cc: Silvio Bierman; PostgreSQL JDBC
> @Subject: Re: FW: [JDBC] PreparedStatement#setString on non-string
> @parameters
> @
> @
> @Does this new stuff added in 8.0 driver adds to performance ?. I had
> @this setString() problem and I tested 7.4.x driver which works and
> @performs better than 8.0 driver.
> @
> @
> @
> @On Wed, 09 Mar 2005 10:47:34 +1300, Oliver Jowett
> @<oliver@opencloud.com> wrote:
> @> Silvio Bierman wrote:
> @>
> @> > Either the JDBC drivers for the databases I mentioned earlier do the
> @> > conversion or the database backends do it on the server side.
> @Any way, this
> @> > works in all cases. PostgreSQL is the first database to break our
> @> > application due to this behaviour. We have had problems on
> @earlier versions
> @> > of MySQL because of lack of subselect support etc. but never
> @these issues.
> @>
> @> I'd suggest using CAST in your SQL -- that in theory should work
> @> everywhere and reflects your application's intent (to interpret a string
> @> as a numeric value).
> @>
> @> The problem with reverting to the old way of doing parameters (direct
> @> text substitution into the query) is that we cannot take advantage of
> @> most of the new stuff in the V3 protocol -- that means no server-side
> @> prepared statement reuse, no low-overhead transfer of large parameters,
> @> and reduced support for cursor-based resultsets.
> @>
> @> -O
> @>
> @> ---------------------------(end of broadcast)---------------------------
> @> TIP 9: the planner will ignore your desire to choose an index
> @scan if your
> @>       joining column's datatypes do not match
> @>
> @
> @
> @--
> @rgds
> @Antony Paul
> @http://www.geocities.com/antonypaul24/
> @
> @---------------------------(end of broadcast)---------------------------
> @TIP 3: if posting/reading through Usenet, please send an appropriate
> @      subscribe-nomail command to majordomo@postgresql.org so that your
> @      message can get through to the mailing list cleanly
>
>


--
rgds
Antony Paul
http://www.geocities.com/antonypaul24/

pgsql-jdbc by date:

Previous
From: "Silvio Bierman"
Date:
Subject: Re: FW: PreparedStatement#setString on non-string parameters
Next
From: Roland Walter
Date:
Subject: JDBC driver build 215 slow when index contains column of type BIGINT