gpt4 book ai didi

django - 索引 Django ArrayField 与否?

转载 作者:行者123 更新时间:2023-11-29 12:09:57 25 4
gpt4 key购买 nike

在 Postgres 9.6 上使用 Django 1.8。我的一个模型有一个 ArrayField:

packages = ArrayField( models.CharField( max_length = 200 ), blank = True )

第一个问题是我应该给它添加索引吗?文档说

At present using db_index will create a btree index. This does not offer particularly significant help to querying. A more useful index is a GIN index, which you should create using a RunSQL operation.

但不清楚我应该用它做什么。

如果是,第二个问题是“db_index = True”放在哪里?像这样?:

packages = ArrayField( models.CharField( db_index = True, max_length = 200 ), blank = True )

最佳答案

这就是 django 文档所说的。这就是postgresql docs

Arrays are not sets; searching for specific array elements can be a sign of database misdesign. Consider using a separate table with a row for each item that would be an array element. This will be easier to search, and is likely to scale better for a large number of elements.

我应该给它添加索引吗?这意味着您正在考虑搜索数组字段。 Postgresql 建议您不要这样做。事实上,您真的不应该在单个列中存储数组或 CSV。您应该做的是规范化您的表格。

如果是,第二个问题是“db_index = True”放在哪里?由于以上原因不敬。

关于django - 索引 Django ArrayField 与否?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41631788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com