加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL介绍的JSONB解释

发布时间:2020-12-13 16:55:38 所属栏目:百科 来源:网络整理
导读:PostgreSQL刚刚引入了 JSONB,它已经在 hacker news趋势。如果有人可以解释它与Hstore和JSON之前在PostgreSQL中有什么不同,这将是巨大的。它有什么优点和局限性,什么时候应该有人考虑使用它? 首先, hstore 是一个contrib模块,它只允许你存储key =值对,
PostgreSQL刚刚引入了 JSONB,它已经在 hacker news趋势。如果有人可以解释它与Hstore和JSON之前在PostgreSQL中有什么不同,这将是巨大的。它有什么优点和局限性,什么时候应该有人考虑使用它?
首先, hstore是一个contrib模块,它只允许你存储key =>值对,其中键和值只能是文本(但值也可以是sql NULL)。

json& jsonb允许您存储有效的JSON值(在其spec中定义)。

F.ex.这些是有效的JSON表示:null,true,[1,false,“string”,{“foo”:“bar”}],{“foo”:“bar”,“baz”:[null]} – hstore只是一个小的子集相比,JSON能够(但如果你只需要这个子集,这是很好)。

json& jsonb是他们的存储:

> json以纯文本格式存储,而
> jsonb存储在一些二进制表示中

这有3个主要后果:

> jsonb通常需要比json更多的磁盘空间来存储(有时不是)
> jsonb从它的输入表示比json需要更多的时间来构建
> json操作比jsonb花费更多的时间(每次在json类型的值上进行一些操作时,也需要进行解析)

当jsonb将提供一个稳定的版本,将有两个主要的用例,当你可以轻松地在它们之间选择:

>如果你只使用你的应用程序中的JSON表示,PostgreSQL只用于存储&检索这个表示,你应该使用json。>如果你对PostgreSQL中的JSON值做了很多操作,或者在一些JSON字段上使用索引,你应该使用jsonb。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读