我每个月都在运行一个清理过程,从数据库中删除旧的不必要的对象。有没有办法估算从清理过程中获得的文件大小?
我正在使用sqlite3和PostgreSQL数据库,但当然首选独立于数据库的解决方案。
答案 0 :(得分:0)
看起来好的估计是转到查询集中的每个对象,迭代__dict__
值,并在每个对象上调用__sizeof__
。
鉴于查询集为qs
:
total_est_size = sum([v.__sizeof__() for rec in qs for v in rec.__dict__.values()])
当然,这是一个非常基本的估算,没有考虑到许多复杂的实现。