是否需要多个 Django 索引?

问题描述 投票:0回答:1

我有一个 Django 模型,除其他字段外,还有

time
station
variable
。几乎总是会提供三个字段来完成查询 - 偶尔且非常罕见,我可能只想使用其中之一进行查询。

在这种情况下,索引设置为

models.Index(fields=["station", "time", "variable"])
models.Index(fields=["time", "station", "variable"])
或三者的其他排列有关系吗?添加所有可能的排列有用还是无关紧要?添加所有排列是否有任何性能损失或好处?

非常感谢!

python django performance django-models indices
1个回答
0
投票

Django 根据字段名称的字母顺序生成查询,并且您的索引应与之匹配,以便数据库可以使用该查询。所以你的索引应该是“站”、“时间”和“变量”。如果这会使索引绝望,您可以使用 Django 原始查询,如果您的查询包含主键,它可以返回模型对象

© www.soinside.com 2019 - 2024. All rights reserved.