David,
An interesting case:
Deleting and recalling:
USE vw_labdetails NODATA
nSec = SECONDS()
REQUERY()
? "reccount ",RECCOUNT()
? SECONDS() - nSec
nSec = SECONDS()
DELETE ALL
? SECONDS() - nSec
nSec = SECONDS()
SELECT labdetails
RECALL FOR Cycleno = "14 "
? SECONDS() - nSec
The test was done on a 500k table and the updatable view retrieves 500 records.
With the binary index it took about 30 seconds to delete all the 500 records. Without about half the time. The big difference was in the RECALL statement, taking about 18 seconds with the binary index and 2.2 seconds without (about 8 times as fast!).
This can be explained in that the deleted flag is updated for each delete (and recall) and any subsequent delete (or recall) has to reload the index again (in a shared environment).
The situation becomes worse as the number of records increase in the table.
Walter,