A new dynamic hash is used for the transaction log entries held before commit. This has greatly improved efficiency when searching intermediate transaction contents. The hashing logic will dynamically adjust to changing conditions for improved hash management of the transaction and lock data. This permits each individual hash table, independent of the other hash tables, to grow and shrink to balance performance and memory use. The increases and decreases are always a factor of two. That is, if the average number of entries per bin exceeds the load factor, then the number of bins is increased by two. When the number of bins is decreased, it is decreased by a factor of two.