Postgres对将json数组数据存储为jsonb或jsonb类型的性能影响[]

时间:2019-11-09 04:26:02

标签: postgresql

使用具有 bars 的json数组的以下模型来考虑:

const myModel = {
   id: 1,
   bars: [
   {
      aproperty: 10
   },
   {
      anotherproperty: 'fred' 
   }]
}

在将 bars 列定义为jsonb类型并简单地将数组添加为json,或将数组项存储在jsonb []数组中时,对性能有何影响?

bar数组不会被修改很多,只是简单地进行了修改,而是会被查询。

1 个答案:

答案 0 :(得分:0)

在很大程度上取决于任务,您将如何处理数据。 JSON只是带有语法检查的文本。 Jsonb是具有复杂数据格式的递归二进制结构。 JSON应该更短,并且具有快速的序列化-但解析速度较慢。序列化时间较长,Jsonb应该更长,但解析(读取)速度更快。

主要的重要区别是在Jsonb上的索引更智能。

PostgreSQL的非原子类型是不可变的-这意味着update不会修改旧值-它会复制并更新和存储新值。如果值较大,则更新非常昂贵。