sql - PostgreSQL - 我应该在 JSON 列中放入什么
问题描述
我要存储的数据具有这个特性的数据:
- 字段数量有限(我不希望添加新字段);
- 有一些列对所有数据集都是通用的(例如,类别字段);
- 有些列是特定于单个数据集的(每个类别都需要自己的字段);
这是它在常规表中的样子:
对于这种情况,我无法确定哪种方式是将此数据存储在数据库中的更好方法。
下面是我已经有了的想法:
- 完全按照表格执行(我会有很多 NULL 值);
- 将类别划分为表格(我会在需要时使用连接);
- 使用 JSON 类型存储值(没有 NULL 值并将其全部放在同一个表中)。
所以我的问题是:
- 这些解决方案之一(或我没有考虑过的解决方案)是否更适合这种情况?
- 除了这里提出的因素之外,我还应该考虑其他因素来做出这个决定吗?
解决方案
除非您有很多列(~ 100),否则通常最好使用普通列。NULL 值在 PostgreSQL 中不占用任何存储空间。
另一方面,如果您的查询可以在条件中使用这些列中的任何一个,并且WHERE
您与.=
jsonb
最终答案取决于您计划在该表上运行的 SQL 语句。
推荐阅读
- node.js - 通过 2 个字段搜索 mongoDB
- java - 如何使用耳机端口发送数据
- python - 如何创建具有两个输入的 LSTM 模型
- amazon-web-services - 设置 X 射线守护程序的最佳做法是什么?
- python - 如何只打印每个单词的第一个字母?
- java - namedNativeQuery 绑定不适用于 payara 或 Glassfish 4.1
- html - 如何在网页上居中和居中定位 div 元素?
- iccube - 我想为 icCube 6.8.5 服务器启用 SSL/HTTPS
- angular - 在 Angular 7 中使用 bootstrap-notify
- google-cloud-platform - 防止 Firestore 规则中的重复条目不起作用