django - 什么时候应该在 Django 中使用 db_index=True?

标签 django django-models django-rest-framework django-forms

当我们应该定义 db_index=True在模型领域?

我正在尝试优化应用程序并想了解有关 db_index 的更多信息我们应该在什么条件下使用它?

文档说在模型字段上使用 db_index=True 可以加快查找速度,但在存储和内存方面略有不利。

我们应该使用 db_index=True仅适用于具有唯一值的字段,例如主要字段 id ?如果我们为那些不唯一且包含重复数据的字段启用索引会发生什么。

最佳答案

我会说你应该使用 db_index=True当您有一个独特的字段以进行更有用的查找时。

例如,如果您有一个表 customers有很多记录users他们每个人都会有自己独特的user_id .每个user_id将是唯一的,并且必须索引该字段才能找到唯一用户,而不是说他们的 first_namelast_name .实际上这也可以,但是由于它们不是唯一的,因此您可能会从查询中收到多个结果,这可能不如使用引用它们的 id 有用。

看看 here了解有关索引的更多信息

关于django - 什么时候应该在 Django 中使用 db_index=True?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59596176/

相关文章:

python - 当用户提交某些内容时返回实例属性

ssl - 在入口 nginx 中启用 tls 时没有 'Access-Control-Allow-Origin'

python - 当 html 表单允许文件上传时,Django 以 "generator raised StopIteration"停止

django-lfs "No module named appconf"

python - 限制子类的外键选择

python - 如何在 Django REST 框架中使用事务?

DjangoRestFramework - 注册用户 : difference between UserSerializer. save() 和 User.objects.create_user()?

python - 我的 django 查询在终端上提供数据时非常慢

python - 如何通过Django中的表单向整数字段添加值?