在数据库中存储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']} -------------------------------------------------- 这是一个更好的方式(性能明智的,设计明智)比一列,每个属性模型,其中表将有很多像列uid,name,emailid。 我喜欢第一个模型,您可以添加尽可能多的字段,没有限制。 另外,我想知道,既然我已经实现了第一个模型。我该如何对其执行查询,例如,我要获取所有具有“ foo”之类名称的用户? 问题 -使用JSON或每字段列数,哪种更好的方式将用户相关数据存储(请记住字段数是固定的)?另外,如果实现了第一个模型,如何如上所述查询数据库?我是否应该通过将查询可能搜索到的所有数据存储在单独的行中以及将其他数据存储在JSON(是不同的行)中来使用这两种模型? 更新资料 由于不会有太多列需要执行搜索,因此同时使用两个模型是否明智?我需要搜索的数据的每列关键字以及其他数据(在同一MySQL数据库中)的JSON?