Product Documentation

FairCom DB V12 Release Notes

Previous Topic

Next Topic

Improved Large Transaction Performance

While updating many records in a single transaction, the update rate slowed down over time. This happened even if a table lock was acquired and PreImage memory use was reduced with the MAX_PREIMAGE_DATA configuration option. Increasing the PREIMAGE_HASH_MAX configuration option improved the situation, however even with that option the update rate slowed over time.

A hash table is used to efficiently search the PreImage space entries containing the updated record images. This hashing has been improved in the following critical areas:

  1. A limit of 1048583 hash bins in no longer imposed;
  2. An Improved the hash function provides a more even distribution of values over the hash bins.

For maximum performance, we have modified the hash function to use up to 2^31-1 hash bins. We also modified the lock hash function in the same manner.

Prior to this change, dynamic hashing defaulted to a maximum number of hash bins of 128K. PREIMAGE_HASH_MAX can raise this limit.

Hint: PREIMAGE_HASH_MAX and LOCK_HASH_MAX keyword values larger than 1 million can provide additional performance benefits for large transactions.

Default: The default value for the PREIMAGE_HASH_MAX configuration option has been increased from 131072 to 1048576 such that a dynamic hash of PreImage space entries is more effective for large transactions without requiring a server administrator to increase this setting.

TOCIndex