我想存储一个大的json哈希(或内容,像你想要的那样调用)和"大"我的意思是超过1000个键值对,我不想在那个json字段上做任何搜索,我只是想要从数据库中检索它并将其传递给javascript来解析它并构造一个可视化结果.
在Postgresql上有一个json类型和jsonb类型(也许我也可以使用一个text字段来存储json).我只想为此目的做出正确的选择,所以我希望有经验的人提供一些建议.
D-s*_*ide 25
假设您正在谈论实际的,严格的JSON(没有诸如不带引号的密钥之类的怪癖)......
json并没有太大的不同text.除了验证JSON之外,它没有太大作用.
jsonb与这两者相比,它是一种不同的野兽:它是一种成熟的数据结构,具有自己的内部格式,在搜索中有更多的操作可用.例如json没有适用的=(相等运算符).jsonb具有.(text也有,即使它在语义上不同.)
索引更加明智,但它必须在读写期间来回转换.
鉴于此,jsonb这里看起来不是一个合理的选择.
......所以只剩下一个决定:
是否要确保数据库中的列中仅包含有效的JSON值?在数据库级别?或者您是否相信该数据库的每个客户(通常是服务器应用程序)只提供有效数据?
json两种方式都是相对安全的选择.text理论上,由于缺少验证,使用可以在可忽略的范围内提高性能,但是您只能通过基准测试得到具体的数字.但它不能防止非JSON值,并且客户端中的意外错误可能会被忽视.负责任地测试!
| 归档时间: |
|
| 查看次数: |
7419 次 |
| 最近记录: |