8

我使用以下代码打开一个lmdb数据库:

    lmdb_env = lmdb.open(source_path, readonly=True)

如何计算此数据库中的记录数?

4

4 回答 4

8

我认为应该是这样的:

lmdb_env = lmdb.open(lmdb_file_name, readonly=True)
print lmdb_env.stat()

然后它打印Jaco在此处粘贴的目录。

于 2016-03-09T20:16:06.620 回答
2
    env = lmdb.open('db file path', max_dbs = ' > 0')
    with env.begin() as tx:
        db = env.open_db(b'db name', txn=tx)
        print(env.stat()) 
        print(tx.stat(db)) # this gives stats about one specific db

env.stat()给出主数据库的条目。tx.stat(db)给出一个命名数据库的条目.

于 2020-11-03T08:48:00.927 回答
1

您可以使用event.stat(). 它将返回以下字典,其中entries详细说明了此数据库中的记录数:

{'branch_pages': 1040L,
'depth': 4L,
 'entries': 3761848L,
 'leaf_pages': 73658L,
 'overflow_pages': 0L,
 'psize': 4096L}
于 2015-12-22T16:42:45.250 回答
1

for我找到了一个使用循环的简单解决方案。这里是:

count = 0
for key, value in lmdb_env.cursor():
        count = count + 1  

但是,我认为应该有更好的方法使用预定义的函数。

于 2015-12-24T11:40:10.657 回答