【发布时间】:2020-04-23 01:21:45
【问题描述】:
我们什么时候应该在模型字段上定义db_index=True?
我正在尝试优化应用程序并想了解更多关于 db_index 的信息,我们应该在哪些条件下使用它?
文档说,在模型字段上使用 db_index=True 可以加快查找速度,但在存储和内存方面略有缺点。
我们是否应该只在那些具有唯一值的字段上使用db_index=True,例如主字段id?如果我们为那些不唯一且包含重复数据的字段启用索引会发生什么。
【问题讨论】:
-
这是一个极其复杂的问题。这取决于您使用的数据库、存储的数据、查询数据的方式、正在执行的写入/读取次数,它会继续……通常情况下会在这里和那里进行一些调整,直到您获得您想要的性能。不过,作为一个简单的规则:您将始终过滤的任何字段都将从被索引中受益
-
一个非常相似的问题:Add Indexes db_index=True
标签: django django-models django-rest-framework django-forms