Improving overflow page usage -
10-19-2006
, 06:10 PM
I have a db with many key/value pairs of varying sizes. db_stat -d
output:
[worio@zebra slice00004]$ db_stat -d all.linkage.00009248
Thu Oct 19 15:55:23 2006 Local time
53162 Btree magic number
9 Btree version number
Little-endian Byte order
Flags
2 Minimum keys per-page
32768 Underlying database page size
3 Number of levels in the tree
919685 Number of unique keys in the tree
919685 Number of data items in the tree
25 Number of tree internal pages
63594 Number of bytes free in tree internal pages (92% ff)
41674 Number of tree leaf pages
114M Number of bytes free in tree leaf pages (91% ff)
0 Number of tree duplicate pages
0 Number of bytes free in tree duplicate pages (0% ff)
38304 Number of tree overflow pages
657M Number of bytes free in tree overflow pages (47% ff)
0 Number of empty pages
0 Number of pages on the free list
[worio@zebra slice00004]$ ll -hs <dbfile>
2.5G -rw-rw---- 1 worio worio 2.5G Oct 14 02:21 <dbfile>
As you can see, despite a relatively high pagesize(32kB), there is
still much wasted space (approximately 30%). I could increase this
size further, but before I do that, is there any way of asking bdb to
split across overflow pages in a more compact manner?
Thanks,
-mike |