Json存储或分隔表

Posted

技术标签:

【中文标题】Json存储或分隔表【英文标题】:Json storing or separated table 【发布时间】:2019-01-30 16:34:15 【问题描述】:

假设有一个人员信息表,并且还想添加他们的孩子。所以你有两个选择:

1- 您可以将孩子的信息放在 JSON 数组中,并将其作为 JSON 字符串存储在 people 表中

2- 您可以创建子表并将其链接到人员表。

哪一个更好修改并且速度更快? 注意:孩子的顺序很重要 如果有更好的方法请告诉我

【问题讨论】:

儿童是人。所以只需将它们添加到人员表中。在人员表中添加字段父亲和母亲。因此,对于每个“人”,当它是您数据库中其他人的孩子时,您将指示父亲和/或母亲。你不会指出某人是否有孩子。 recursive CTEs 上的 sqlite 文档包括这样一个分层表的示例,顺便说一句。 【参考方案1】:

当然是选项 2。

使用第一个选项将使您在每次需要检索一些值或想要添加一些数据时解析/处理 JSON。

虽然选项 2 不仅使交易变得简单,而且还增加了可维护性和可扩展性。

快乐编码:)

【讨论】:

我不完全同意你的看法。由于处理了存储对象引用而不是对象本身副本的 API,我可以告诉您,处理此类输入非常痛苦,因为我必须编写一些过程来用子 POJO 填充我的父 POJO,即真的既可怕又痛苦....

以上是关于Json存储或分隔表的主要内容,如果未能解决你的问题,请参考以下文章

Hive SQL DDL语法 - 指定分隔符指定存储路径

PowerBI 解析分隔数据

如何将 CSV 或制表符分隔文件映射到 MySQL 多表数据库

使用 myisam 将激活密钥存储在分隔表中

在数据库列中存储分隔列表真的那么糟糕吗?

在数据库列中存储分隔列表真的那么糟糕吗?