如何在django中指定索引类型? (btree vs hash等)

时间:2017-07-16 06:28:30

标签: mysql django django-models models

就像标题所说,如何在django中的模型中的字段上指定我想要的索引类型。

class Person:
     ...
     age = models.IntegerField(db_index=True)

但现在呢?如何确保它是btree索引而不是hash。或者这一切都是为我们自动完成的,并且django使用了一些大表来选择"最佳索引类型"

1 个答案:

答案 0 :(得分:4)

当您指定btree时,Django默认创建index=True索引:

https://docs.djangoproject.com/en/1.11/ref/models/indexes/

我注意到你正在使用MySQL;但如果你正在使用PostgreSQL,你可以在某些类型的字段上指定某些其他索引类型:

https://docs.djangoproject.com/en/1.11/ref/contrib/postgres/indexes/

这个答案提供了有关如何覆盖MySQL中的btree默认值的信息,如果您需要:

https://stackoverflow.com/a/3288059/1394697