PostgreSQL何以支持丰富的NoSQL特性?
副问题[/!--empirenews.page--]
【新品产上线啦】51CTO播客,随时随地,碎片化进修
作者先容 谭峰,网名francs,中国开源软件推进同盟PostgreSQL分会特聘专家,《PostgreSQL拭魅战》作者之一,《PostgreSQL 9 Administration Cookbook》译者之一。现就职于浙江移动认真应用上云架构管控以及私有云建树事变。 张文升,中国开源软件推进同盟PostgreSQL分会焦点成员之一,《PostgreSQL拭魅战》作者之一,活泼于PostgreSQL、MySQL、Redis等开源技能社区,致力于敦促PostgreSQL在互联网企业的应用及企业PostgreSQL培训与技能支持。 在上一篇文章《PostgreSQL用户应把握的高级SQL特征》我们先容了PostgreSQL的典范高级SQL特征。PostgreSQL不只是相关型数据库,同时支持富厚的NoSQL特征,以是本文将先容PostgreSQL的NoSQL特征,分以下三部门来先容:
一、JSON和JSONB数据范例 PostgreSQL支持非相关数据范例json (JavaScript Object Notation),本节先容json范例、json与jsonb差别、json与jsonb操纵符和函数以及jsonb键值的追加、删除、更新。 1、JSON范例简介 PotgreSQL早在9.2版本已经提供了json范例,而且跟着大版本的演进,PostgreSQL对json的支持趋于完美,譬喻提供更多的json函数和操纵符利便应用开拓,一个简朴的json范例例子如下:
为了更好演示json范例,接下来建设一张表,如下所示:
以上示例界说字段name为json范例,插入表数据,如下所示:
查询表test_json1数据:
2、查询JSON数据 通过->操纵符可以查询json数据的键值,如下所示:
假如想以文本名目返回json字段键值可以行使->>符,如下所示:
3、JSONB与JSON差别 PostgreSQL支持两种JSON数据范例:json和jsonb,两种范例在行使上险些完全沟通,首要区别如下: json存储名目为文本,而jsonb存储名目为二进制 ,因为存储名目标差异使得两种json数据范例的处理赏罚服从纷歧样,json范例以文本存储而且存储的内容和输入数据一样,当检索json数据时必需从头理会,而jsonb以二进制情势存储已理会好的数据,当检索jsonb数据时不必要从头理会,因此json写入比jsonb快,但检索比jsonb慢,后头会通过测试验证两者读写机能差别。 除了上述先容的区别之外,json与jsonb在行使进程中还存在差别,譬喻jsonb输出的键的次序和输入纷歧样,如下所示:
而json的输出键的次序和输入完全一样,如下所示:
(编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |