My main work now with AdoRdd its database with tables between 5.000 and 10.000.000 records building recordsets between 5.000 and 100.000 records and 70 columns in average.
The work its on a 1Gb LAN.
In the bigger tables if the server has indexes for the WHERE clause its pretty fast < 3 Secs building the recordset.
The memory consumption gets to max 600Mb.
I can have > 50 recordset opened at same time.
With the cached recordsets memory consumption will not increase.
AdoRdd can cache the recordsets in the beginning of the application with:
SET ADO PRE OPEN THRESHOLD TO
In this case app waits a little more to start but then all table opening its lightning fast.
Normally to display a window with > 20 tables its less < 1sec.
If we choose not to use this SET AdoRdd will use as cache already opened tables.
Thus the second time it will be also very fast.
With tables of this dimension we absolutely need a default open WHERE clause otherwise application would crawl and crash. use SET RECORDSET OPEN WHERE CLAUSE TO.
Please pay attention to these WHERE clauses otherwise you might not be able to see new additions as soon as AdoRdd requery.
Punctuality we might need to reduce the recordset for ex for sum SUM operations.
This is where we use:
cOldSql := adowhereclause( Select(), "where clause" )
SUM ...
adowhereclause( Select(), cOldSql )
Hope this might help you.
↧