【发布时间】:2017-05-09 03:46:44
【问题描述】:
我每个月都会运行一个清理过程,从数据库中删除旧的不必要的对象。有没有办法估计从清理过程中获得的文件大小?
我正在使用 sqlite3 和 PostgreSQL 数据库,但当然首选独立于数据库的解决方案。
【问题讨论】:
-
投票支持“过于宽泛”的问题的人 - 为什么您认为这个问题过于宽泛?
标签: django database django-1.10
我每个月都会运行一个清理过程,从数据库中删除旧的不必要的对象。有没有办法估计从清理过程中获得的文件大小?
我正在使用 sqlite3 和 PostgreSQL 数据库,但当然首选独立于数据库的解决方案。
【问题讨论】:
标签: django database django-1.10
看起来一个很好的估计是去查询集中的每个对象,遍历 __dict__ 值,并在每个对象上调用 __sizeof__。
假设查询集是qs:
total_est_size = sum([v.__sizeof__() for rec in qs for v in rec.__dict__.values()])
当然,这是一个非常基本的估计,没有考虑到许多复杂的实现。
【讨论】: