2015-11-25 68 views
5

我正在构建一个Laravel应用程序,核心功能是用相当大的JSON对象驱动的。 (最大的在1000-1500行之间)。什么是在MySQL中存储相当大的JSON对象的最佳方式

我知道有比MySQL更好的数据库选择来存储文件和数据块,但由于各种原因,我将需要使用MySQL作为应用程序。

所以我的问题是,如何将我的JSON对象存储在MySQL中最有效?我不需要对保存数据的列进行任何查询,还会有其他列来识别它。事情是这样的:

ID,标题,创建-AT,更新-在,JSON-blobthingy

任何想法?

+1

您可以将它保存为TEXT,但我建议更改为MongoDB或Redis,因为它们是为文档存储设计的,而不是关系型体系结构。 – thodorisbais

+0

'LONGTEXT'将帮助 –

+0

@toubou谢谢你。但是我需要使用MySQL,而系统的其余部分是基于关系数据模型的。 – Christoffer

回答

10
  • 如果你有MySQL版本5.7.8或以上,您可以使用JSON数据类型。
  • 您可以将JSON文件存储在服务器上,并通过MySQL简单地引用它的位置。
  • 您也可以使用TEXT types之一。
+1

只要他不需要对存储的JSON做任何查询,我就直接进入TEXT类型。小心不要索引该列。 – yergo

+0

'LONGTEXT'会有所帮助。 –

+0

我希望他们可以更新服务器> = 5.7.8。尽管如此,我并不认为在存储JSON时我必须验证JSON,因为在创建和解析它时,我将通过模式验证它。另外,我真的需要一种简单的方式将它与应用程序关系结构绑定。所以我现在可能会选择Text。谢谢! – Christoffer

相关问题