【发布时间】:2014-03-31 14:06:40
【问题描述】:
我正在围绕一个 PostgreSQL 数据仓库应用程序开发一个 Django 管理包装器,该应用程序有一些包含数百万条记录的表。
没有任何列表过滤器的管理员更改列表页面会在一秒钟内加载,但如果我在管理员的list_filters 中包含某些列,它加载非常缓慢,可能需要 30 秒到一分钟才能加载。
检查数据库,我看到了几个查询,例如:
SELECT DISTINCT "warehouse_data"."filter_field1" FROM "warehouse_data" ORDER BY "warehouse_data"."filter_field1" ASC;
每个只需要 3-5 秒,但有十几个,这些加起来。所有字段都已编入索引,因此我不确定如何加快它们的速度。如何提高管理员绩效?如何插入 Django 的缓存机制来缓存这些列表过滤器的实际查询?
【问题讨论】:
-
我遇到了类似的问题,这篇文章对我有很大帮助,它可能对你有帮助blog.ionelmc.ro/2012/01/19/…
-
@fasouto,谢谢,帮了大忙。
标签: python django django-admin