Product Documentation

FairCom ISAM for C

Previous Topic

Next Topic

Index cache size

This section applies to single-user mode and Standalone Multi-user mode with READ_ONLY and ctEXCLUSIVE file modes.

The index cache size is approximated with the following formula:

memory (in bytes) = bufs * (sect * 128 + MAXLEN + 128)

bufs is the first argument to InitISAM() and first number in the parameter file initialization record. Increasing bufs allocates more memory for the index cache. The cache uses a hashing algorithm, therefore the more memory for the cache the better the performance. If bufs is set too high, the initialization function, (InitISAM() for ISAM structures or OpenISAM() for parameter files), fail with SPAC_ERR (10) or a similar out of memory error. MAXLEN is the maximum key length defined in ctopt2.h (defaults to 1024 bytes).

The FairCom DB Standalone Multi-user mode forces all reads and writes directly to disk, (except for files opened with the file mode set to READ_ONLY or ctEXCLUSIVE), bypassing the cache. Therefore, set bufs to a minimal value, such as 6.

See IDX_MEMORY in the FairCom Server Administrator’s Guide for more information.