我对有关在mysql中存储自定义用户数据的最佳做法提出疑问。
让我解释一下。
我正在开发一个新闻通讯系统,比如Mailchimp等。
我们有联系人(电子邮件) 我们有联系方式(姓名,姓氏,电话,国家等)
联系人详细信息可能会有所不同,具体取决于用户希望联系人在其表单中输入的输入字段,因此没有2个用户会以相同的方式保存数据,并且完全取决于他们为其字段命名的内容。
我们的第一种方法是将JSON中的所有“联系人详细信息”存储到一个单列中。但是,当必须快速过滤,分割和搜索这些数据时,这证明是很难的。
所以我的最后一个问题是,如何将自定义数据存储在MySQL数据库中,以便可以轻松处理,即使是在20.000个联系人列表中也是如此。
由于
答案 0 :(得分:1)
我很惊讶人们投票决定将其视为过于宽泛。
在关系数据库中构建数据的方法是非常 well defined.
我们的第一种方法是将JSON中的所有“联系人详细信息”存储到一个单列
中
......这不符合定义。这就是您在管理数据时遇到问题的原因。
是的,有时违反规则是一个好主意 - 但是总是从遵循规范化的第一个规则开始,而仅考虑如果你是非规范化数据库有一个你无法避免的问题。