当前位置: 首页 > 知识库问答 >
问题:

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

东方栋
2023-03-14

我想存储一个大的json散列(或内容,按您的意思来称呼它),我所说的“大”是指超过1000个键值对的东西,我不想对这个json字段进行任何搜索,我只想从数据库中检索它,并将它传递给javascript来解析它并构造一个可视化结果。

共有1个答案

仲孙磊
2023-03-14

假设您谈论的是实际的、严格的JSON(没有诸如未加引号的键之类的怪癖)...

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

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

您希望确保您的数据库在您的列中只包含有效的JSON值吗?在数据库级别上?或者您是否信任该数据库的每个客户机(通常是服务器应用程序)只提供有效数据?

JSON是一个相对安全的选择。由于没有验证,使用text理论上可以稍微提高性能,但是您只能通过基准测试得到具体的数字。但是它不会有针对非JSON值的保护措施,客户机中的意外错误可能会被忽视。负责任地测试!

 类似资料:
  • 我目前有一个表会话和一个列操作(JSONB)。 我能够使用正确地将数组从前端存储到数据库。 我的数组(数组值)的结构如下所示: 与我在SO上看到的许多关于修改JSONB或访问某些键的问题不同,我只对将整个JSONB数据转换回前端的数组感兴趣。 我的临时修复是通过数组进行映射,并使用Javascript中的json.parse()来重组数组中的每个对象。我不能对整个数组使用json.parse(),

  • 主要内容:数值类型,日期和时间类型,字符串类型,二进制类型MySQL 提供了大量的数据类型,为了优化存储和提高数据库性能,在任何情况下都应该使用最精确的数据类型。   前面主要对 MySQL 中的数据类型及其基本特性进行了描述,包括它们能够存放的值的类型和占用空间等。本节主要讨论创建数据库表时如何选择数据类型。   可以说字符串类型是通用的数据类型,任何内容都可以保存在字符串中,数字和日期都可以表示成字符串形式。   但是也不能把所有的列都定义为字符串类

  • 问题内容: 如果在表的一列中,我希望这些值是“是”,“否”或“可选”,那么我需要使用哪种数据类型? 问题答案: 少量: 占用1个字节,但是最多可以将8个BIT字段合并到SQL Server中的单个BYTE中。 存储以下两个值之一:1(表示true)和0(表示false),因此该列需要为可空值,以便NULL作为您的第三个值传递 CHAR(1) 需要1个字节 如果不区分大小写ASCII,则为26个字符

  • Json后面的Java是什么数据结构?是映射、数组还是列表?请注意,正确大小上没有引号。

  • 本文向大家介绍什么是MySQL ENUM数据类型?使用ENUM数据类型有什么优势?,包括了什么是MySQL ENUM数据类型?使用ENUM数据类型有什么优势?的使用技巧和注意事项,需要的朋友参考一下 与标准数据类型不同,ENUM数据类型是1到65,535个字符串的枚举列表,指示字段的允许值。定义ENUM时,您将创建一个项目列表,必须从中选择该值(或者可以为NULL)。 例如,如果希望字段包含“ A

  • 本文向大家介绍介绍PostgreSQL中的jsonb数据类型,包括了介绍PostgreSQL中的jsonb数据类型的使用技巧和注意事项,需要的朋友参考一下 PostgreSQL 9.4 正在加载一项新功能叫jsonb,是一种新型资料,可以储存支援GIN索引的JSON 资料。换言之,此功能,在即将来临的更新中最重要的是,如果连这都不重要的话,那就把Postgres 置于文件为本数据库系统的推荐位置吧