在MySQL中存储相当大的JSON对象的最佳方法是什么

时间:2015-11-25 09:19:36

标签: mysql json database

我正在构建一个Laravel应用程序,核心功能是由相当大的JSON对象驱动的。 (最大的是在1000-1500行之间)。

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

所以我的问题是,如何在MySQL中存储最有效的JSON对象?我不需要对包含数据的列进行任何查询,还有其他列用于标识数据。像这样:

id,title,created-at,updated-at,JSON-blobthingy

有什么想法吗?

4 个答案:

答案 0 :(得分:13)

  • 如果您使用的是MySQL 5.7.8或更高版本,则可以使用JSON数据类型。
  • 您可以将JSON文件存储在服务器上,并通过MySQL简单地引用它的位置。
  • 您也可以使用其中一个TEXT types

答案 1 :(得分:1)

我能给出的最佳答案是使用MySQL 5.7。在此版本中,支持新列类型JSON。它很好地处理大型JSON(显然)。

https://dev.mysql.com/doc/refman/5.7/en/json.html

答案 2 :(得分:0)

如果您不需要可搜索的数据,您可以在插入数据之前对其进行压缩。我为此使用了“zlib”库

答案 3 :(得分:0)

简单地说,您可以使用类型 longblob,它可以为包含大型 JSON 对象的列处理多达 4GB 的数据,您可以在其中正常插入、更新和读取此列,就好像它是文本或任何内容一样否则!