Django过滤器会增加每个用户的ram消耗:Python



我不知道我还能问这个问题,所以在这里问它。我想知道,如果我在一个使用多个数据库表的页面上施加多个 Django 过滤器,每当用户访问此页面时,这是否会影响 ram 消耗,因为在用户之前只会反映过滤的数据。我在基于 ubuntu 的 VM 上使用带有 postgresql 的 django,如果有任何文档可以帮助了解 ram 利用率,请提出建议。

Django过滤器和查询集是懒惰的。它实际上意味着,在评估它们之前,您实际上并没有访问数据库。引用官方文档 -

在内部,可以构造、筛选、切片和传递 QuerySet,而无需实际访问数据库。在您执行某些操作来评估查询集之前,实际上不会发生任何数据库活动。

因此,RAM 中占用的唯一空间实际上是包含查询集和程序的列表。当计算查询并从数据库中提取数据时,即(取决于提取的数据量(内存被填满的时间。此外,查看迭代器也是一个好主意

最新更新