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.