我想在构建我正在创建的SQL数据库时提出一些建议。
UPDATE: Storing Data in MySQL as JSON似乎清楚地表明在MySQL中存储JSON并不是一个明智的选择。
我最初的想法是为每个名为' {user_id}'的用户创建一个表格。包含以下行:
但是,我已经知道为每个用户创建一个表是不可取的,因为从长远来看它无法管理。
具体来说,我想知道如何将所有信息放在' {user_id}'用户排在我的'成员行中的表格表
我有一些想法,但不知道它们有多好:
将用户数据存储为附加列中的JSON对象(转换为字符串)'数据'这些'成员'表。从长远来看,这会变得难以管理(由于JSON对象字符串变得太长)?
将用户数据存储在'成员的各个附加列中。表,可能是上面列出的每个参数(每个都是一个数组)
将用户数据存储在'成员的各个附加列中。表,可能是上面列出的每个参数一个(每个参数都是字典或其他一些数据结构)
有没有比JSON对象更好的方法或更好的数据存储类型?
存储此信息的好方法是什么?当数组/词典变得非常大时,它们是否会随着时间的推移变得无法管理?
(要记住的一件事是,数据'条目必须每日修改并轻松访问)
答案 0 :(得分:1)
我认为你可能只想要一个额外的表,可能称为“活动”,外键“用户”指向“成员”表。 然后,对于您最初想到的每个用户表中的每一行,您在活动表中有一行,其中“user”的值是相关用户。由于每一行的有界大小相对较小,人们可以期望数据库能够很好地处理它,并且可以通过索引来解决效率问题。基本上我同意@MikeNakis