Advise on mapping JTable to large PostgreSQL table requested? - Mailing list pgsql-jdbc

From Joost Kraaijeveld
Subject Advise on mapping JTable to large PostgreSQL table requested?
Date
Msg-id 1133860141.8837.46.camel@Panoramix
Whole thread Raw
Responses Re: Advise on mapping JTable to large PostgreSQL table
List pgsql-jdbc
Hi,

As here are people that know databases and Java....

I *must* (as in: I have no choice and it can't be solved another way by
customer demand) display a large table (> 1.100.000 records) in a JTable
( or something that looks like a JTable for the customer).

The customer wants to able to search the data and wants the focus (if
the search succeeds) to be on the record in the table.

AS a JTable works with rows, so I have written code that calculates the
row of the record in the query and maps any row request to an index in
the query.

To make it more clear (?;-):

1. Customer wants the record with 'some text' in column 'a'
2. I calculate the index:
select count(*) from table where a < 'some text'
3. I check if the index is in a local cache ( an AbstractTableModel
derived object that maintains a vector of cached record).
4. If not, I get 100 records before and after the requested record,
including the record itself and put them in the local cache so that
JTable can call AbstratTableModel.getValueAt(row,column) without the
need of accessing the database.
5. I set the JTable selection to the index found in step 2 and as long
as a requested row is in my cache I have a snappy respons.

The trouble is that step 2 takes a lot of time (it is proportional to
the size of the table?).

I assume that I am not the first person that tries something like this.
I want to know if my way of solving this problem is the most adequate,
or that there are other ways of achieving my goal (which is indeed
emulating an ISAM database).

TIA


--
Groeten,

Joost Kraaijeveld
Askesis B.V.
Molukkenstraat 14
6524NB Nijmegen
tel: 024-3888063 / 06-51855277
fax: 024-3608416
e-mail: J.Kraaijeveld@Askesis.nl
web: www.askesis.nl



pgsql-jdbc by date:

Previous
From: Damon Anderson
Date:
Subject: bug with 8.X level 4 driver?
Next
From: "Michael Paesold"
Date:
Subject: Re: Problem with 8.1 driver