Tha*_*rry 9 python sql database django postgresql
我正在开发一个 Django 项目,使用 Postgresql 作为附加数据库。我注意到有些查询花费了很长时间,甚至发现我的数据库中许多不同字段有十多个索引,其中一些我认为是不必要的。
我的计划是删除那些我不需要的,但我有兴趣知道 Django 在创建模型时是否以“智能”方式执行此操作,或者是否有一些默认机制用于创建我不知道的索引。
Abd*_*kat 14
Django 确实会自动为某些字段创建索引。例如,外键文档中有说明:
\n\n\n数据库索引会自动在ForeignKey上创建。您可以通过将db_index设置为False来禁用此功能。
\n
另外,当您在字段上unique设置为时:True
\n\n请注意,当 unique 为 True 时,\xe2\x80\x99 不需要指定 db_index,\n因为 unique 意味着创建索引。
\n
还关于SlugField:
\n\n意味着将 Field.db_index 设置为 True。
\n
db_index在字段级别,您可以通过将参数传递给字段来控制字段是否有索引。
indexes您还可以在模型中指定选项Meta:
class MyModel(model.Model):\n ...\n class Meta:\n indexes = [\n models.Index(fields=[\'field1\', \'field2\'], name=\'some_idx\'),\n ]\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
5821 次 |
| 最近记录: |