CNode

postgresql 传统 Type 还是 JSONB?

问答
Ttmirun发布于8 年前最后回复8 年前3 回复4065 浏览0 收藏

最近在用postgresql 遇到选择数据结构困难 大家用 postgresql 大多数使用 JSOB 还是 传统的 int,varchar...?理由?和有什么好处? 比如 用JSONB 栗子🌰 Person

  • uuid: STRNG
  • data: JSONB // 在这里保存全部的资料

比如 用传统type 栗子🌰 Person

  • uuid: STRNG
  • email: STRNG
  • name: STRIMG .....
查看回复

回复 (3)

W
waitingsong#1·8 年前

我的看法: 固定属性,有联表查询需求的,使用字段方式。 不定属性(可有可无,可能随时新增)可以用 json/jsonb 。避免宽表出现 避免在增加字段时的开销影响业务。 再说json 类型也可以走索引。 所以对于扩展属性可以考虑 json/jsonb 类型。

json类型 目前还支持这个高级功能 http://www.pgsql.tech/article_104_10000050

T
tmirun#2·8 年前
引用 waitingsong我的看法: 固定属性,有联表查询需求的,使用字段方式。 不定属性(可有可无,可能随时新增)可以用 json/jsonb 。避免宽表出现 避免在增加字段时的开销影响业务。 再说json 类型也可...

@waitingsong 谢谢你的回复,目前也在考虑两个都用,虽然 postgresql 的 jsonb 类型 查询速度也非常快。但就怕在过几年后数据多了为这个项目埋下一个 大坑

W
waitingsong#3·8 年前
引用 tmirun@waitingsong 谢谢你的回复,目前也在考虑两个都用,虽然 postgresql 的 jsonb 类型 查询速度也非常快。但就怕在过几年后数据多了为这个项目埋下一个 大坑

@tmirun 数据多了,要么分散在多个字段,要么集中在一个json字段,都在一个库里面,不会有大区别。 pgsql 能让你用的功能都是令人放心的。

参与回复
登录后即可参与回复。登录