On the sybase-l mailing list,
Jeff Tallman replied to a question on how to avoid unnecessary reorgs. He graciously agreed to let me post his response here 🙂
You can avoid most (if not all) of the reorgs by doing:
- setting the exp_row_size to something that covers about 90% of the space each row takes up
- changing enable housekeeper GC to a 4 or 5
Both of these are a *MUST* do for DOL (datapages or datarows). See manuals on ‘enable housekeeper GC’ for correct setting of 4 or 5 (refers to whether deletes are batch or OLTP).
You can also watch for housekeeper overflows in monEngine/monOpenObjectActivity……and if you see any HKGC pending – wait a few before shutting down.
Jeff wrote up an excellent article, Locking Redux – APL vs. DOL and Tuning, that goes into detail why this is the case.