相关疑难解决方法(0)

在数据库中存储JSON与为每个键创建一个新列

我正在实现以下用于在我的表中存储用户相关数据的模型 - 我有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数据库中)?

mysql sql database sql-server optimization

184
推荐指数
6
解决办法
13万
查看次数

将数据存储在MySQL中作为JSON

我认为这是件好事.所以,我从来没有这样做过.然后我看到FriendFeed做到了这一点并且实际上使他们的DB规模更好并且减少了延迟.我很好奇我是否应该这样做.如果是这样,那么正确的方法是什么?

基本上,什么是学习如何将所有内容存储在MySQL中作为CouchDB类DB的好地方?将所有内容存储为JSON似乎更容易,更快(不构建,减少延迟).

此外,在DB上存储为JSON的内容是否易于编辑,删除等?

mysql database json

114
推荐指数
10
解决办法
18万
查看次数

标签 统计

database ×2

mysql ×2

json ×1

optimization ×1

sql ×1

sql-server ×1