gpt4 book ai didi

json - 什么数据类型选择json还是jsonb还是text

转载 作者:行者123 更新时间:2023-11-29 11:09:38 25 4
gpt4 key购买 nike

我想存储一个大的 json 散列(或内容,随意调用它),“大”是指超过 1000 个键值对的东西,我不想在那个 json 字段上进行任何搜索,我只想从数据库中检索它并将它传递给 javascript 来解析它并构建一个可视化结果。

在 Postgresql 上有一个 json 类型和一个 jsonb 类型(也许我也可以使用一个 text 字段来存储 json)。我只是想为此目的做出正确的选择,所以我想听听有经验的人的一些建议。

最佳答案

假设您谈论的是实际的、严格的 JSON(没有不带引号的键等怪癖)...

jsontext 没有太大区别。除了验证 JSON 之外,它没有做太多事情。

jsonb 与这两者相比是一个不同的野兽:它是一个成熟的数据结构,具有自己的内部格式,可以在搜索中使用更多的操作。例如 json 没有适用的 =(相等运算符)。 jsonb 有。 (text 也有,尽管它在语义上有所不同。)

索引比较灵敏,但是读写时要来回转换。

鉴于此,jsonb 在这里看起来不是一个合理的选择。


...所以只剩下一个决定要做:

您想确保您的数据库在您的列中只包含有效的 JSON 值吗?在数据库级别?还是您相信该数据库的每个客户端(通常是服务器应用程序)只提供有效数据?

无论哪种方式,

json 都是一个相对安全的选择。使用 text 理论上可以由于缺乏验证而将性能提高到可以忽略不计的程度,但是您只能通过基准测试获得特定数字。但它没有针对非 JSON 值的保护措施,并且客户端中的意外错误可能会被忽视。负责任地进行测试!

关于json - 什么数据类型选择json还是jsonb还是text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39041996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com