首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将JSON存储在数据库中,而每个键都有一个新列

将JSON存储在数据库中,而每个键都有一个新列
EN

Stack Overflow用户
提问于 2013-03-13 01:11:49
回答 10查看 185.3K关注 0票数 260

我正在实现以下模型来在我的表中存储与用户相关的数据-我有两列- uid (主键)和一个meta列,它以JSON格式存储有关用户的其他数据。

代码语言:javascript
复制
 uid   | meta
--------------------------------------------------
 1     | {name:['foo'], 
       |  emailid:['foo@bar.com','bar@foo.com']}
--------------------------------------------------
 2     | {name:['sann'], 
       |  emailid:['sann@bar.com','sann@foo.com']}
--------------------------------------------------

这是一种比每个属性一列模型更好的方法(在性能方面,在设计方面),在这种模式下,表将有许多列,如uidnameemailid

我喜欢第一个模型的原因是,你可以添加尽可能多的字段,没有限制。

另外,我想知道,既然我已经实现了第一个模型。我如何对其执行查询,例如,我想获取所有名称为'foo‘的用户?

field-在数据库中使用- JSON或按字段列存储与用户相关的数据(请记住字段的数量不固定),哪种方法更好?另外,如果实现了第一个模型,如何按照上述方式查询数据库?我是否应该同时使用这两个模型,将查询可以搜索的所有数据存储在单独的行中,而将其他数据存储在JSON中(是不同的行)?

更新

既然不会有太多的列需要执行搜索,那么同时使用这两个模型是否明智?我需要搜索的数据是每列一个键,而其他数据是JSON (在同一个MySQL数据库中)?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15367696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档