If the purpose is strictly to recover disk space then Optimize. It's sole purpose is to create a brand new empty file/table based on the data dictionary, then copy all records from old file to new file 1 record at a time. In the end the old file gets erased and new file gets renamed to the old file. This method results in no empty space / bloat.
I don't know if it runs faster or slower than regular Rebuild. I do know that if there is a history of data corruption or needing to Rebuild these IM and SO history files in the past, the more prudent option is to Rebuild instead of Optimize.
------------------------------
Alnoor Cassim
Accounting Systems, Inc. (ASI)
Email:
alnoor@asifocus.comOrange County, CA
------------------------------