Does anyone have any real data on the relative speed difference between doing a TABLEF and a MODIFY vs a REBUILD/REBUILD if all you need to do is reorganize the data or delete old records.
If there are any other considerations I'd be glad to hear about them.
Back when I was in support, I had a client who was running a REBUILD/REBUILD on a large FOCUS dB (close to 64 MB, which in 1992, was actually quite large). We were able to cut her REBUILD down from over 7 hours to about 14 minutes by breaking it down from REBUILD/REBUILD into a REBUILD/REORG/DUMP and a REBUILD/REORG/LOAD, plus REBUILD INDEX.
REBUILD/REBUILD is usually only very slow if you have large databases with multiple indexed fields in the DB. FOCUS has to simultaneously load the data records and multiple index pages in unsorted order when you do it in one step like this, which means lots of paging and disk drives spinning out of control.
To do it the efficient way, you just do the dump first (REBUILD/REORG/DUMP), then do a CREATE FILE on the new file WITH all of the INDEXED fields in the MFD.
Use an alternate MFD for the REBUILD REORG LOAD (identical to the original but with no INDEX fields in the MFD). This will quickly load just the data records.
Then do a REBUILD/INDEX using the original MFD with all of the INDEXED fields specified. Now FOCUS does just builds the indexes using the sorted data (effectively like TABLEF/FIXFORM).
It's actually very simple and can save quite a bit of time in rebuilding large FOCUS dBs.
Hope that helps.
|Powered by Social Strata|