目前,我正在将json数据保存为字符串类型的列,制作json类型是否有好处?

时间:2019-04-23 15:36:20

标签: laravel laravel-5

在我的项目中,我目前正在此列中保存一些json数据:

$table->string('meta')->nullable();

使用有什么真正的好处

$table->json('meta')->nullable();

由于我的应用程序必须同时与MySQL和MariaDB一起使用,所以我没有使用laravel提供的任何额外功能来搜索和更新json列。因此,如果我们把这些好​​处都排除在外,那么使用json而不是string来保存json数据的列还有其他好处吗?

1 个答案:

答案 0 :(得分:1)

与{strong> String 相比, JSON 的主要优势在docs

中进行了描述
  

自动验证存储在JSON列中的JSON文档。无效的文档会产生错误。

     

优化的存储格式。存储在JSON列中的JSON文档将转换为内部格式,从而可以快速读取对文档元素的访问权限。当服务器稍后必须读取以该二进制格式存储的JSON值时,则无需从文本表示形式解析该值。二进制格式的结构使服务器能够直接通过键或数组索引查找子对象或嵌套值,而无需读取文档中它们之前或之后的所有值。

并且可以添加,您可以create secondary index for json columns