У меня есть большая база данных leveldb с именем db.
tot=0
i=0
for key,value in db.RangeIter():
tot=sys.getsizeof(key)+sys.getsizeof(value)
i=i+1
print(f'total rows: {i}')
print(f'total size: {tot}')
дает
total rows: 119113
total size: 143
, что действительно странно.
Итак, я написал это:
keyTot=0
valTot=0
for key,value in db.RangeIter():
keyTot += len(key)
valTot += len(value)
print(f'Total key size: {keyTot} Total value size: {valTot} Total: {keyTot+valTot}')
, который дал
Total key size: 1404729 Total value size: 452897532 Total: 454302261
Так что же измерял sys.getsize при измерении ключа? И как получилось такое небольшое число после перебора 119113 строк?