带有任意json索引的postgres-jsonb字段可以吗



我有一个postgres表,需要在其中存储任意键/值对,其中一些值可以是数组。我看到postgres支持JSONB和Array字段类型,并考虑使用JSONB,并且一直在审查关于索引的JSONB文档

我试图理解的是,考虑到字段中存储的json模式会越来越不同,字段是否可以有效地进行索引?

例如,假设我有一个表来存储插件数据,并且这些插件将被允许为每个用户存储他们想要的任意多的密钥。

如果

  • 插件的数量会增加,但可能会<100
  • json字段值大多是简单的json对象,深度为一级
  • 如果有帮助的话,我完全可以控制每个插件的json模式

插件数据

>/table>
key value(JSONB( plugin_typeuserId
plugin.one {id:1,test:'two'} one 100
plugin.one {id:32,测试:'my-title'} one 102
plugin.two
plugin.three {持续时间:10s} 三个

是的,您可以使用GIN索引对列进行索引。这将加速对具有??&?|的关键字以及包含运算符@>的关键字的搜索;子对象";包含。

最新更新