我需要在aggregate
应用程序中使用一些频繁更改的django
数据,如果我在运行中进行计算,则可能会出现一些性能问题。因此,我需要将aggregate
结果保存在表中,并在数据更改时更新它们。因为我使用django
可能存在一些选项而某些选项可能不存在。例如,我可以使用django signals
和一个表,当发出post_save
信号时,会更新结果。另一个选项是materialized views
中的postgresql
或indexed views
中的MSSQL Server
,我不知道如何在django
中使用或django
支持他们或不。在django
中执行此操作的最佳方法是什么,以提高结果的性能和准确性。
答案 0 :(得分:0)
您可以将物化视图与postgres一起使用。非常简单
CREATE MATERIALIZED VIEW
my_view as select * from my_table;
之类的查询来创建视图创建两个模型 在模型Meta中,选项i-managed = false ii- db_name = my_view 此类
MyModel(models.Model): 类Meta: 管理=错误 db_table ='my_view'
仅使用ORM的功能并将MyModel视为常规模型。例如MyModel.objects.count()...