我想存储一个大的Json哈希表(或内容,你可以随意称呼它),“大”指的是1000个键值对以上。我不想在这个Json字段上进行任何搜索,只想从数据库中检索出它并传递给JavaScript进行解析和构建可视化结果。
在PostgreSQL中有一个json
类型和jsonb
类型(也许我也可以使用text
字段来存储json),我只想为此目的做出正确的选择,所以我想请有经验的人提供一些建议。
我想存储一个大的Json哈希表(或内容,你可以随意称呼它),“大”指的是1000个键值对以上。我不想在这个Json字段上进行任何搜索,只想从数据库中检索出它并传递给JavaScript进行解析和构建可视化结果。
在PostgreSQL中有一个json
类型和jsonb
类型(也许我也可以使用text
字段来存储json),我只想为此目的做出正确的选择,所以我想请有经验的人提供一些建议。
json
与text
相比并没有太大区别,除了验证JSON外,它几乎没什么其他操作。jsonb
则完全不同,它是一个拥有自己内部格式的完整数据结构,在搜索时有更多的操作可用。例如,json
没有适用的=
(相等运算符),而jsonb
有。(text
也有,尽管语义不同。)jsonb
看起来不是明智的选择。json
无论哪种方式都是相对安全的选择。使用text
可以理论上通过消除验证来稍微提高性能,但只有通过基准测试才能得到具体数字。但它没有防止非JSON值的保障,客户端中的意外错误可能会被忽略。负责任地进行测试!
jsonb
。 - D-sidejsonb
恰好展示了这一点。 - D-side