Subject Re: [Firebird-Java] Re: Speed problem retrieving 50,000 rows...
Author Roman Rokytskyy
> Yes, the connection is in auto-commit mode... some things have
> changed a bit and the time taken is now 4.8 seconds. When I turn off
> autocommit, time is 2.0 seconds.
> While this is a vast improvement, this part of our code is executed
> often, so 2 seconds is noticeable...

Do you want to say that you execute the SELECT statement but you need only
few entries from it? Then you better use SELECT FIRST x [SKIP y] statement.

But if at the end you fetch the complete result locally, you will have to
spend that 2.0 seconds sooner or later. Or do I miss something?

> can you tell me more about the (default) fetch size (or a URL describing
> it)?

There is no way to specify the default fetch size in the URL. The default
value is just a number, it has little sense when the record size is not
taken into account. It makes also little sense to set it for the complete
connection, since different queries will be executed.

> I saw your follow-up which said the requested fetch size is not
> guaranteed, but maybe I can at least tweak it a little...?

No idea. Fetch size only tells driver how many isc_dsql_fetch calls should
be made to fill the internal buffer. You can set it to 1 and this will
guarantee that isc_dsql_fetch will be called only once.

Roman