PostgreSQL介绍的JSONB解释

前端之家收集整理的这篇文章主要介绍了PostgreSQL介绍的JSONB解释前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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。

猜你在找的Postgre SQL相关文章