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

Postgres中JSON和JSONB的区别[重复]

司空丰
2023-03-14

PosgreSQL中的JSON和JSONB数据类型有什么不同?

    null

共有1个答案

贺高杰
2023-03-14

JSON基本上是一个blob,它以原始格式存储JSON数据,甚至保留一些无关紧要的东西,如空白、对象中键的顺序,甚至对象中的重复键。它确实提供了执行一些基本JSON操作的能力,例如提取与对象中的某个键相关联的值,尽管这样做很慢,因为它每次都要解析JSON blob。它还验证每个值,以检查它是否是有效的JSON。另一方面,JSONB以定制格式存储JSON数据,该格式针对某些操作进行了优化,例如提取与对象中的某个键相关联的值(即,它不会重新解析JSON,也不会线性搜索)。此外,JSONB支持更多的操作,例如对象的串联或在对象内部设置值。

通常,只有当我知道我不会执行任何JSON操作或者只是偶尔执行这些操作时,我才会使用JSON。对于所有其他情况,我使用JSONB。注意,对于前一种情况,text也是一个非常有效的选项,特别是如果您对JSON所做的验证不感兴趣(例如,因为您信任数据源)。

 类似资料:
  • 主要内容:什么是 JSON?,什么是 BSON?,JSON 与 BSON 之间的区别JSON 和 BSON 从名称上来看仅有一个字母的差别,非常相似,那么它们之间有什么区别呢?本节我们就来简单介绍一下。 什么是 JSON? JSON 全称“JavaScript Object Notation”,译为“JavaScript 对象简谱”或“JavaScript 对象表示法”,是一种轻量级的、基于文本的、开放的数据交换格式,主要用来在浏览器和服务器之间进行通信。 下面展示了一个简单的

  • 主要内容:什么是 XML?,什么是 JSON?,JSON 与 XML 之间的差异,JSON 与 XML 之间的相似之处JSON 和 XML 都是基于文本的可读格式,独立于编程语言,能够在几乎所有的编程语言中使用。本节我们就来介绍一下 JSON 和 XML 的区别。 在介绍 JSON 和 XML 的区别之前,我们先来分别介绍一下 JSON 和 XML。 什么是 XML? XML 全称“Extensive Markup Language”,译为“可扩展标记语言”,是一种源自 SGML 的、基于文本的

  • 我正试图找出两者之间的区别

  • 我有下面的Postgres查询,当通过psql客户端运行时可以很好地工作- 然而,当我通过创建org.hibernate.query对象来运行查询时,我得到了一个类似于这样的异常- psqlexception:错误:运算符不存在:jsonb@>字符变化提示:没有与给定名称和参数类型匹配的运算符。您可能需要添加显式类型转换。职位:144 请帮帮忙。我读了以下关于创建一个新类型的帖子,并且Hibern

  • 我正在阅读Postgres Jsonb文档,但找不到解决我遇到的一个小问题的方法。 我有一张桌子:MY_TABLE 具有以下列: 用户、名称、数据和购买 需要注意的是,“数据”是一个jsonb,有多个字段。“Data”中的一个字段是“Attribute”,但它可以保存的值不同步。我的意思是,它可以是一个字符串,一个字符串列表,一个空列表,或者只是一个空字符串。然而,我想改变这一点。 我希望允许的唯

  • 本文向大家介绍重载和重写的区别?相关面试题,主要包含被问及重载和重写的区别?时的应答技巧和注意事项,需要的朋友参考一下 方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。 重载发生在一个类中,同名的方法如果有不同的参数列表(类型不同、个数不同、顺序不同)则视为重载。 重写发生在子类与父类之间,重写要求子类重写之后的方法与父类被重写方法有相同的返回