-This 2.5MB number also doesn't take indexing into account. Each indexed attribute
-uses another database file of its own, using a Hash structure.
-
-Unlike the B-trees, where you only need to touch one data page to find an entry
-of interest, doing an index lookup generally touches multiple keys, and the
-point of a hash structure is that the keys are evenly distributed across the
-data space. That means there's no convenient compact subset of the database that
-you can keep in the cache to insure quick operation, you can pretty much expect
-references to be scattered across the whole thing. My strategy here would be to
-provide enough cache for at least 50% of all of the hash data.
-
-> (Number of hash buckets + number of overflow pages + number of duplicate pages) * page size / 2.
+This 2.5MB number also doesn't take indexing into account. Each indexed
+attribute results in another database file. Earlier versions of OpenLDAP
+kept these index databases in Hash format, but from OpenLDAP 2.2 onward
+the index databases are in B-tree format so the same procedure can
+be used to calculate the necessary amount of cache for each index database.