我正在实现以下用于在我的表中存储用户相关数据的模型 - 我有2列 - 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']}
--------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
这是一个更好的方式(性能明智的,设计明智)比一列,每个属性模型,其中表将不得不像许多列uid,name,emailid.
我喜欢第一个模型,你可以添加尽可能多的字段,没有限制.
此外,我想知道,现在我已经实现了第一个模型.如何对其执行查询,例如,我想获取所有名称为'foo'的用户?
问题 - 在数据库中使用-JSON或每个字段的列存储用户相关数据(请记住数字不固定)的更好方法是什么?另外,如果实现了第一个模型,如何查询数据库如上所述?我是否应该同时使用这两个模型,将查询可能搜索的所有数据存储在一个单独的行中,将其他数据存储在JSON中(是不同的行)?
由于我需要执行搜索的列数不会太多,因此使用这两个模型是否明智?我需要搜索的数据的每列密钥和其他人的JSON(在同一个MySQL数据库中)?
我认为这是件好事.所以,我从来没有这样做过.然后我看到FriendFeed做到了这一点并且实际上使他们的DB规模更好并且减少了延迟.我很好奇我是否应该这样做.如果是这样,那么正确的方法是什么?
基本上,什么是学习如何将所有内容存储在MySQL中作为CouchDB类DB的好地方?将所有内容存储为JSON似乎更容易,更快(不构建,减少延迟).
此外,在DB上存储为JSON的内容是否易于编辑,删除等?