File Structure

Both versions use a single data file (.DAT for ISAM-A, .IDA for ISAM 1.x), and at least one index file, and both use a single OPEN statement to open the combination of the index and the data. However, while ISAM-A stores all the indexes in a single IDX (which are all opened at the same time), ISAM 1.x using a separate IDX file for each index, and required additional OPEN statements for each of the secondary indexes.

ISAM 1.x data files used "blocking", meaning that individual records could not be split across 512 byte boundaries. Thus, if you had a record size of 128 bytes and wanted to add one more field, you might as well increase the record size to 170, because anything between 129 and 170 will result in only three records per 512 byte block (with wasted space at the end of the block). ISAM-A uses "span'blocks" mode, meaning that records are stacked end to end with no concern for block boundaries. This is much more efficient on a modern operating system, but does mean that the data file will probably not be a multiple of 512 bytes, and thus may "appear" as a sequential instead of random file (e.g. to the LOOKUP statement or DIR command). See OPTIONS=ABSLOOKUP.