首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数据作为json存储在mysql中是个好主意吗?

将数据作为json存储在mysql中是个好主意吗?
EN

Stack Overflow用户
提问于 2013-06-07 06:39:57
回答 2查看 386关注 0票数 1

我有一个类似于“节有许多元素”的关系表的场景,所以我想要使用has_many关系模型,就像区段有很多元素一样。

我收到了客户端的一些建议,建议将数据保存为列中的JSON,而不是多个表。

我有点搞不懂我该采用哪种方法。

欢迎提出建议。

这就是我们提出的模式

例: has_many部分元素

表:

代码语言:javascript
运行
复制
id  type                
1   page     

表:元素

代码语言:javascript
运行
复制
id   type   content           section_id
1    text   <p>lipsum lipsum</p>     1
2    image  /images/test.png         1

客户建议是,

代码语言:javascript
运行
复制
id  type   content             
 1  page    {:text => "<p>lipsum</p>", image => "/images/test.png"}
EN

Stack Overflow用户

发布于 2013-11-10 20:56:10

将数据作为JSON存储在单个数据库字段中通常是个坏主意。这意味着您将无法使用SQL操作/查询数据--这类操作与将数据存储在数据库中的意义相悖。

我建议在您的section texts 表与texts images**.的表之间建立一对多的关系。这可以通过Rails中的[belongs_to](http://guides.rubyonrails.org/association_basics.html#the-belongs-to-association) [has_many](http://guides.rubyonrails.org/association_basics.html#the-has-many-association) [has_many](http://guides.rubyonrails.org/association_basics.html#the-has-many-association)关联来实现。

无论如何,创建新表只有在单个部分有多个文本和图像时才会有帮助。如果您的每个部分都有一个文本和一个图像(如示例所建议的),那么可能可以使用一个带有idtypetextimage属性的type表。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16977791

复制
相关文章

相似问题

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