Subject Re: Type 4 driver slow
Author dctle2000
Yes I do have direct connection to the server.
The detail setup is as follows.

Server:
Compaq Proliant 350 ML
-- 1 GHz
-- 600 MB ECC memory
-- 18 GB SCSI Drive
-- 100 Mb full duplex network
Mandrake Linux 8.1
Firebird 1.0 superserver
-- 16K page size
-- 4000 buffer pages
-- forced write on
-- interserver 1.6

Client:
-- 800 Mhz
-- 128 MB memory
-- 20 GB IDE Drive
-- 100 Mb full duplex network
-- Windows NT SP 6
-- JDK 1.3.1_02
-- Type 4 driver download on April 2, 2002
-- Interclient 1.6

I hope the aforementioned information can throw some light onto the
problem. I also noticed that the Type 4 driver eats up a lot more
memory than interclient. Probing at free and total memory after the
executeQuery statement, will reveal:
interclient : free ~12 MB, total ~20 MB
Type 4 : free ~8 MB, total ~40 MB

Don.



--- In Firebird-Java@y..., "haug22" <Herbert.Augustiny@s...> wrote:
> I had simimilar results while trying to access blobs, but other
> people on the list havn't seen the same results so I figured it
must
> be something with my setup (maybe network). Since then, I havn't
> investegate further. What is your network setup? Do you have a
direct
> connection to the server?
>
> Herbert
>
> --- In Firebird-Java@y..., "dctle2000" <dctle2000@y...> wrote:
> > I've just download the Type 4 driver from CVS and did a quick
> test.
> > I find it 2+ times slower than interclient-interserver 1.6.
> >
> > Here is the code I used to retrieve data from the database:
> > ...
> > long startTime = System.currentTimeMillis();
> > String sqlString = "SELECT FIELD1, FIELD2, FIELD3, FIELD4, FIELD5
> > FROM TABLE1";
> > Statement statement = DBCon.createStatement();
> >
> > //should return 165,019 records
> > ResultSet resultSet = statement.executeQuery(sqlString);
> >
> > while (resultSet.next()) {
> > String field1 = resultSet.getString("FIELD1");
> > String field2 = resultSet.getString("FIELD2");
> > String field3 = resultSet.getString("FIELD3");
> > String field4 = resultSet.getString("FIELD4");
> > String field5 = resultSet.getString("FIELD5");
> > };
> >
> > statement.close();
> >
> > long endTime = System.currentTimeMillis();
> > System.out.println("load table Time = " + (endTime - startTime));
> > ...
> >
> > Using interclient, it take 8762 ms
> > Using Type 4, it takes 22,151 ms
> >
> > The fields queried are all type CHAR(4).