1
我使用db_stat获得在BDB记录大致数量(以避免在整个数据库迭代):是否有可能得到平均Berkeley DB的记录大小
[[email protected] 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字节(文件大小一致),并得到近似的记录大小2340分之2633728= 1125
所以我的问题 - 将使用来自db_stat信息的其他信息给我更准确的结果?
谢谢,这是有道理的。有没有关于它的文档? –
我找不到任何具体描述你要找的东西。通常可以处理各种类型溢出页面的概念以及数据库中页面的使用方式。因此,您可能会在数据库教科书(如Gray和Reuter的_Transaction Processing_)中找到一些答案。 –