I open a lmdb
database using this code:
lmdb_env = lmdb.open(source_path, readonly=True)
How can I count the number of records in this database?
I open a lmdb
database using this code:
lmdb_env = lmdb.open(source_path, readonly=True)
How can I count the number of records in this database?
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()
gives entries of the main database. tx.stat(db)
gives entries of one named database.
You can use event.stat()
. It will return the following dictionary with entries
detailing the number of records in this database:
{'branch_pages': 1040L,
'depth': 4L,
'entries': 3761848L,
'leaf_pages': 73658L,
'overflow_pages': 0L,
'psize': 4096L}
I found a simple solution using for
loop. Here it is:
count = 0
for key, value in lmdb_env.cursor():
count = count + 1
However, I think there should be a better way using pre-defined function.