django - 我们什么时候应该在 Django 中使用 db_index=True?
问题描述
我们什么时候应该db_index=True
在模型字段上定义?
我正在尝试优化应用程序并想了解更多关于db_index
我们应该在哪些条件下使用它?
文档说,在模型字段上使用 db_index=True 可以加快查找速度,但在存储和内存方面略有缺点。
我们应该db_index=True
只在那些具有唯一值的字段上使用,比如主字段id
吗?如果我们为那些不唯一且包含重复数据的字段启用索引会发生什么。
解决方案
我会说,db_index=True
当您有一个独特的字段可以进行更有用的查找时,您应该使用它。
例如,如果您的表customers
包含许多记录,users
则它们每个都有自己独特的user_id
. 每个user_id
人都是唯一的,并且必须索引该字段以发现唯一用户比说他们的first_name
or更常见last_name
。实际上这也可以,但由于它们不是唯一的,您可能会从查询中收到多个结果,这可能不如使用引用他们的 id 有用。
在这里查看以了解有关索引的更多信息
推荐阅读
- java - Textview 不粘在屏幕的右边缘(Android/Java)
- php - 读取表的所有行
- powershell - Powershell 函数输出到日志文件
- asp.net-core - CreateAsync 不使用派生的 IdentityUser 将 IdentityUser 保存到数据库
- jquery - JQuery - 将 AJAX 请求的响应复制到剪贴板,无需用户再次按下按钮
- javascript - 电子打字稿:捆绑一切
- c# - error System.FormatException: '输入字符串的格式不正确。'
- c# - RichTextBox字体更改c#
- vhdl - 组件声明的用处是什么?
- python - ImportError:无法导入名称“imshow”