postgresql 传统 Type 还是 JSONB?
最近在用postgresql 遇到选择数据结构困难 大家用 postgresql 大多数使用 JSOB 还是 传统的 int,varchar…?理由?和有什么好处? 比如 用JSONB 栗子🌰 Person
- uuid: STRNG
- data: JSONB // 在这里保存全部的资料
比如 用传统type 栗子🌰 Person
- uuid: STRNG
- email: STRNG
- name: STRIMG …
3 回复
我的看法: 固定属性,有联表查询需求的,使用字段方式。 不定属性(可有可无,可能随时新增)可以用 json/jsonb 。避免宽表出现 避免在增加字段时的开销影响业务。 再说json 类型也可以走索引。 所以对于扩展属性可以考虑 json/jsonb 类型。
json类型 目前还支持这个高级功能 http://www.pgsql.tech/article_104_10000050
@waitingsong 谢谢你的回复,目前也在考虑两个都用,虽然 postgresql 的 jsonb 类型 查询速度也非常快。但就怕在过几年后数据多了为这个项目埋下一个 大坑
@tmirun 数据多了,要么分散在多个字段,要么集中在一个json字段,都在一个库里面,不会有大区别。 pgsql 能让你用的功能都是令人放心的。