我正在考虑将 PostgreSQL 的jsonb
列类型用于一个主要用作 REST-ful JSON API 的新后端项目。我相信 PostgreSQLjsonb
非常适合这个项目,因为它会给我 JSON 对象,而无需在后端进行转换。
但是,我已经读到jsonb
数据类型会随着键的添加而变慢,并且我的模式将需要使用主键和外键引用。
我想知道是否在自己的列中包含主键/外键(以标准的关系数据库方式),然后jsonb
为其余数据设置一列会是有益的,或者这会导致问题(无论是现在还是未来) ?
简而言之,将:
table car(id int, manufacturer_id int, data jsonb)
表现好于或差于:
table car(data jsonb)
特别是在经常查找外键时?
从性能或模式的角度来看,第一个会有缺点吗?