> The connection URL looks like
> "jdbc:microsoft:sqlserver://Formelmonum:1433;SelectMethod=cursor".
> SelectMethod cursor proved to be necessary because of other driver related
> problems. Varchar indices?? What's that?
nevermind... Your query doesn't use varchar search arguments, so you don't
need to know...
> But my real question is how it can be that a query like
>
[quoted text clipped - 8 lines]
> and this only for the MS JDBC driver. When using J-SQL (NetDirect) for
> example, there is no significant difference in speed.
This may well have to do with the (necessary for othe reasons) selectMethod
setting. Please run a tiny 15-line standaone program that gets a driver
connection without the selectMethod setting, and I'll bet you see the better
performance. Are you using a PreparedStatement or a plain Statement?
Joe Weinstein at BEA
> -Otto
>
[quoted text clipped - 37 lines]
>>>
>>>Otto
Otto Perdeck - 21 Nov 2003 11:53 GMT
Joe,
Thx for thinking along, but as I already mentioned, there is no problem with
a simple select, but there is with a slightly more complex one. I'm using
the same URL all the time, which includes the SelectMethod=Cursor (and this
for good reasons, because the #$&^#*$& driver otherwise refuses multiple
open ResultSet's).
I'm not searching for a work-around, that I already have. I'm looking for an
explanation. How can it be that a small change in the SQL makes such a huge
difference in performance? And how can it be that the MS JDBC driver is the
only one (as far as I know) to have this behaviour?
I also would like to see confirmation from other users that this MS JDBC
driver is very lousy.
-Otto
> > The connection URL looks like
> > "jdbc:microsoft:sqlserver://Formelmonum:1433;SelectMethod=cursor".
[quoted text clipped - 64 lines]
> >>>
> >>>Otto
Joe Weinstein - 21 Nov 2003 16:47 GMT
> Joe,
>
[quoted text clipped - 3 lines]
> for good reasons, because the #$&^#*$& driver otherwise refuses multiple
> open ResultSet's).
You are missing my point. I think it is an effect of the more complex query
and the way the DBMS must create a cursor for it, when operating in that
mode. The driver itself does nothing to your SQL. Simple or complex, the
driver just sends it directly to the DBMS.
So, it you have the time, just run a plain non-cursor-mode connectiom
and a single plain statement with your more complex query. Let us know if it
is also slower, or if it's as fast as it should be.
Joe Weinstein at BEA
> I'm not searching for a work-around, that I already have. I'm looking for an
> explanation. How can it be that a small change in the SQL makes such a huge
[quoted text clipped - 89 lines]
>>>>>
>>>>>Otto