我正在实现以下模型来在我的表中存储与用户相关的数据-我有两列- uid
(主键)和一个meta
列,它以JSON格式存储有关用户的其他数据。
uid | meta
--------------------------------------------------
1 | {name:['foo'],
| emailid:['foo@bar.com','bar@foo.com']}
--------------------------------------------------
2 | {name:['sann'],
| emailid:['sann@bar.com','sann@foo.com']}
--------------------------------------------------
这是一种比每个属性一列模型更好的方法(在性能方面,在设计方面),在这种模式下,表将有许多列,如uid
、name
、emailid
。
我喜欢第一个模型的原因是,你可以添加尽可能多的字段,没有限制。
另外,我想知道,既然我已经实现了第一个模型。我如何对其执行查询,例如,我想获取所有名称为'foo‘的用户?
field-在数据库中使用- JSON或按字段列存储与用户相关的数据(请记住字段的数量不固定),哪种方法更好?另外,如果实现了第一个模型,如何按照上述方式查询数据库?我是否应该同时使用这两个模型,将查询可以搜索的所有数据存储在单独的行中,而将其他数据存储在JSON中(是不同的行)?
更新
既然不会有太多的列需要执行搜索,那么同时使用这两个模型是否明智?我需要搜索的数据是每列一个键,而其他数据是JSON (在同一个MySQL数据库中)?
https://stackoverflow.com/questions/15367696
复制相似问题