栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用新的PostgreSQL JSON数据类型内的字段进行查询?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用新的PostgreSQL JSON数据类型内的字段进行查询?

Postgres 9.2

我在pgsql-hackers列表中引用了Andrew
Dunstan

在某个阶段可能会有一些json处理(与json生成相反)功能,但在9.2中没有。

并不能阻止他提供应该解决您的问题的PLV8示例实现。

Postgres 9.3

提供大量新功能和运算符,以添加“ json-processing”。

  • 有关新JSON功能的手册。
  • 有关第9.3页中的新功能的Postgres Wiki。
  • @Will 在以下评论中发布了指向博客的链接,该博客演示了新的操作员。

Postgres 9.3中 原始问题 的答案:

SELECt *FROM   json_array_elements(  '[{"name": "Toby", "occupation": "Software Engineer"},    {"name": "Zaphod", "occupation": "Galactic President"} ]'  ) AS elemWHERe elem->>'name' = 'Toby';

高级示例:

  • 使用JSON数据类型的记录嵌套数组查询组合

对于更大的表,您可能需要添加一个表达式索引以提高性能:

  • 在JSON数组中查找元素的索引

PostgreSQL 9.4

添加

jsonb
(b为“二进制”,值存储为本地Postgres类型),并且 两种 类型 都具有
更多功能。除了上面提到的表达式索引外,
jsonb
还支持GIN,btree和hash索引,其中GIN是最有效的。

  • 本手册
    json
    以及
    jsonb
    数据类型和功能。
  • 第9.4页的JSONB上的Postgres Wiki

该手册建议如下:

通常, 大多数应用程序应该将JSON数据存储为

jsonb
,除非有非常特殊的需求,例如关于对象键顺序的传统假设。

大胆强调我的。

性能从GIN索引的总体改进中受益。

Postgres 9.5

完整的

jsonb
功能和操作员。添加更多功能以
jsonb
进行就地操作和显示。

  • Postgres 9.5的发行说明中的​​主要好消息。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/375470.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号