Please enable JavaScript to view this site.

A-Shell Reference

Navigation: Development Topics > ISAM-A > ISAM-A Comparisons

ISAM-A vs. Other Indexing Schemes

Scroll Prev Top Next More

Although it is impossible to offer many concrete details for comparing ISAM-A to other file indexing schemes, here are some general observations which you may find interesting enough to consider migrating from your custom indexing schemes to ISAM-A.

Performance: ISAM-A indexing uses an efficient B+ tree organization which generally means that you can access any record in 5 disk accesses or less, even in files containing millions of records. In comparison, a index based on binary searching (e.g. SERCHxs) would require an average of 11 disk accesses to read a record in a file of only 1024 records. For a file of a million records, the number is more like 21 accesses. Since a random disk seek is by far the slowest operation in data processing (by orders of magnitude), this simple fact alone is likely to make a dramatic difference in your file throughput.

Simplicity:  Since ISAM-A takes care of so many details for you (like locking and index maintenance), it is generally much simpler to program with. Not only does this make development easier and faster, it also reduces bugs by eliminating all of the minute details (subroutine parameters, the need for synchronizing manual operations such as locking and index manipulation, etc.) And makes your programs easier to understand and maintain later.

Stable and Robust:  ISAM-A is a very mature system with a long track record, both in and outside of the A-Shell community.

Standard Utilities:  A single utility, ISMUTL, can handle all of your file administration (creation, rebuild, verification) needs.

Auto Expansion:  ISAM-A files automatically expand, eliminating the need for a lot of logic worrying about files filling up and needing to be rebuilt.

ODBC, SQL Access:  With ISAM-A files you have the option of accessing them from popular reporting and querying tools, such as Crystal Reports, via third-party ODBC and SQL drivers.