【发布时间】:2011-08-24 11:58:22
【问题描述】:
Django 是自动为外键生成索引,还是仅仅依赖于底层数据库策略?
【问题讨论】:
-
依赖ForeignKey中的
db_index参数,默认为True。
标签: django-models
Django 是自动为外键生成索引,还是仅仅依赖于底层数据库策略?
【问题讨论】:
db_index参数,默认为True。
标签: django-models
Django 自动为所有 models.ForeignKey 列创建索引。
在
ForeignKey上自动创建一个数据库索引。您可以通过将db_index设置为False来禁用此功能。如果您要创建外键以实现一致性而不是连接,或者要创建替代索引(如部分或多列索引),则可能希望避免索引的开销。
【讨论】:
./manage.py sql appname,你会看到创建索引的SQL语句。它们紧跟在创建所需的最后一个表的 SQL 之后。
./manage.py sqlindexes appname。
./manage.py sqlindexes appname 在最近的 Django 版本中不再有效。