用于存储键值映射的最佳PostgreSQL数据类型?

时间:2017-04-06 16:41:47

标签: json postgresql sqldatatypes jsonb hstore

我想将一个简单的键值字符串映射存储为PostgreSQL表中的字段。我打算把地图作为一个整体来对待;即,始终选择整个地图,永远不要通过其键或值进行查询。

我阅读了hstorejsonjsonb之间的文章,但这些文章并没有帮助我选择哪种数据类型最符合我的要求,即:

  • 只有键值,不需要嵌套。
  • 只有字符串,没有其他类型,null
  • 存储效率,考虑到我在该领域的预期用途。
  • 快速解析查询的地图。

哪种数据类型最适合我的用例?

1 个答案:

答案 0 :(得分:2)

你可以使用hstore这是一个键映射,但我个人希望我们jsonb。这有点矫枉过正,但是,大多数语言都可以原生地转换json而无需自己解码。

在json中,我只是存储一个简单的对象或数组,用于您尝试存储的信息。

两者都支持索引并有效存储。

文本中的Hstore是您的语言可能不知道的自定义类型格式,因此需要处理要插入或查询的数据。