使用具有 bars 的json数组的以下模型来考虑:
const myModel = {
id: 1,
bars: [
{
aproperty: 10
},
{
anotherproperty: 'fred'
}]
}
在将 bars 列定义为jsonb类型并简单地将数组添加为json,或将数组项存储在jsonb []数组中时,对性能有何影响?
bar数组不会被修改很多,只是简单地进行了修改,而是会被查询。
答案 0 :(得分:0)
在很大程度上取决于任务,您将如何处理数据。 JSON只是带有语法检查的文本。 Jsonb是具有复杂数据格式的递归二进制结构。 JSON应该更短,并且具有快速的序列化-但解析速度较慢。序列化时间较长,Jsonb应该更长,但解析(读取)速度更快。
主要的重要区别是在Jsonb上的索引更智能。
PostgreSQL的非原子类型是不可变的-这意味着update不会修改旧值-它会复制并更新和存储新值。如果值较大,则更新非常昂贵。