a large application is written in Delphi 5 and uses IBObjects to connect to a Firebird 1.5 database.
In order to make the code faster, we want to experiment a new way to display the needed data from the DB.
The idea is to load large chunks of data (possibly a whole table) into memory using TEasyTable and to query data from the in-memory table using TEasyQuery.
Both components are available in trial version at [[login to view URL]][1].
In the attached form [login to view URL], you will find the 3 queries that are often issued and should be made faster.
Please read the queries inside procedures:
procedure ediWorkEnter(Sender: TObject);
procedure ediVesselEnter(Sender: TObject);
procedure ediOrderEnter(Sender: TObject);
Here
procedure ediVesselEnter(Sender: TObject);
is the slowest of the 3.
The idea is to load tables
tb_wrk (98 records)
tb_ves (75,000 records)
tb_cst (42,000 records)
a_ord (138,000 records)
into memory once at start time and query the in-memory tables every time it is needed.
These tables are changed only once a day (updating data from a central server).
The coder will deliver a text EXE that shows the improved results.
For what I know, the same result can be achieved by using TClientDataset.
I could accept that solution, too (or any equivalent path other than using TEasyTable).
Please specify the road you intend to take.
The selected coder can get a full db (if needed).
## Deliverables
req4 is meant to give you an idea of what has to be done.
It won't compile.
[login to view URL] is a database, with no SP or trigger.
Only SP VALIDITYELAPSEDBIS is included for your reference.