June 2001
Intermediate to advanced
688 pages
19h 18m
English
The size of the cache used for the underlying database can be specified by calling the DB→set_cachesize function. Choosing a cache size is, unfortunately, an art. Your cache must be at least large enough for your working set plus some overlap for unexpected situations.
When using the Btree access method, you must have a cache big enough for the minimum working set for a single access. This includes a root page, one or more internal pages (depending on the depth of your tree), and a leaf page. If your cache is any smaller than that, each new page will force out the least-recently-used page, and Berkeley DB will reread the root page of the tree anew on each database request.
If your keys are of moderate size (a few tens ...