【发布时间】:2019-02-01 23:55:59
【问题描述】:
我有一个要存储在 Postgres 中的数组类型。我的主要用例之一是查看是否有任何记录具有包含字符串的数组。
例如。
| A | ["NY", "Paris", "Milan"] |
| B | ["Paris", "NY"] |
| C | [] |
| D | ["Milan"] |
数组中是否存在带有Paris 的行?数组中有哪些行有Milan?等等。
关于如何存储该列,我有 2 个选项。我可以将其设为 text[] 类型或将其转换为 json 为 {"cities": ["NY", "Paris", "Milan"]} 然后存储为 JSONB 字段
但是,我不确定什么可以让我对我的用例进行最快的查询。有没有明显更好的方法来做到这一点?我是否通过选择一个而不是另一个来束缚自己?如果我选择其中一个,那么如何查询数据库?
【问题讨论】:
标签: sql arrays postgresql performance