【发布时间】:2017-05-28 15:48:47
【问题描述】:
在 Postgres 9.6 上使用 Django 1.8。 我的一个模型有一个 ArrayField:
packages = ArrayField( models.CharField( max_length = 200 ), blank = True )
第一个问题是我应该添加索引吗? 文档说
目前使用db_index会创建一个btree索引。这不 对查询提供了特别重要的帮助。更有用的索引 是一个 GIN 索引,您应该使用 RunSQL 操作创建它。
但不清楚我应该如何处理。
如果是,第二个问题,是在哪里放置 "db_index = True" ? 像这样?:
packages = ArrayField( models.CharField( db_index = True, max_length = 200 ), blank = True )
【问题讨论】:
-
那么你的决定是什么?
-
按照你的回答,我决定不搜索数组字段,所以我没有添加索引。我有点失望,使用数组字段不是一个好习惯,并且将来会避免使用它们,除非我绝对确定我不需要在它们中搜索。
-
我很高兴能说服你这样做 :-)
标签: django postgresql