【发布时间】:2016-03-03 13:55:39
【问题描述】:
我正在使用 db_stat 来获取 BDB 中的大致记录数(以避免对整个数据库进行迭代):
[me@home magic]$ db_stat -d random.db
Thu Mar 3 13:38:25 2016 Local time
61561 Hash magic number
8 Hash version number
Little-endian Byte order
Flags
643 Number of pages in the database
4096 Underlying database page size
0 Specified fill factor
2340 Number of keys in the database
2340 Number of data items in the database
299 Number of hash buckets
303540 Number of bytes free on bucket pages (75% ff)
15 Number of overflow pages
39282 Number of bytes free in overflow pages (36% ff)
114 Number of bucket overflow pages
322730 Number of bytes free in bucket overflow pages (30% ff)
0 Number of duplicate pages
0 Number of bytes free in duplicate pages (0% ff)
1 Number of pages on the free list
是否也可以获得平均记录大小?
我想我可以使用以下信息来获取整体大小:
643 Number of pages in the database
4096 Underlying database page size
643*4096 = 2633728 Bytes(对应文件大小),得到近似记录大小2633728/2340 = 1125
所以我的问题 - 使用来自 db_stat info 的附加信息会给我更准确的结果吗?
【问题讨论】:
标签: berkeley-db