Criteria for selecting HISAM
You should use HISAM when you need sequential or direct access to roots and sequential processing of dependent segments in a database record.
HISAM is a good choice of data organization when your database has most, or all, of the following characteristics.
- Each root has few dependents.
Root segment access is indexed, and is therefore fast. Dependent segment access is sequential, and is therefore slower.
- You have a small number of delete operations against the database.
Except for deleting root segments, all delete operations result in the creation of space that is unusable until the database is reorganized.
- Your applications depend on a small volume of root segments being
inserted within a narrow key range (VSAM).
Root segments inserted after initial load are inserted in root key sequence in the appropriate CI in the KSDS. If many roots have keys within a narrow key range, many CI splits can occur. This will degrade performance.
- Most of your database records are about the same size.
The similar sizes allow you to pick logical record lengths and CI sizes so most database records fit on the primary data set. You want most database records to fit on the primary data set, because additional read and seek operations are required to access those parts of a database record on the overflow data set. Additional reads and seeks degrade performance. If, however, most of the processing you do against a database record occurs on segments in the primary data set (in other words, your high-use segments fit on the primary data set), these considerations might not be as important.
Having most of your database records the same size also saves space. Each database record starts at the beginning of a logical record. All space in the logical records not used by the database record is unusable. This is true of logical records in both the primary and overflow data set. If the size of your database records varies tremendously, large gaps of unused space can occur at the end of many logical records.