在MySQL 5.7中,添加了用于在JSON表中存储JSON数据的新数据类型。显然,这将是MySQL的巨大变化。他们列出了一些好处
文档验证 -JSON列中只能存储有效的JSON文档,因此您可以自动验证数据。
有效访问 -更重要的是,当您将JSON文档存储在JSON列中时,它不会存储为纯文本值。相反,它以优化的二进制格式存储,从而可以更快地访问对象成员和数组元素。
性能 -通过在JSON列中的值上创建索引来提高查询性能。这可以通过虚拟列上的“功能索引”来实现。
便利性 -JSON列的附加内联语法使在SQL中集成文档查询变得非常自然。例如(features.feature是一个JSON列):
SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = 121254;
哇 !它们包括一些很棒的功能。现在,更容易操作数据。现在可以在列中存储更复杂的数据。因此,MySQL现在具有NoSQL的味道。
现在我可以想象对JSON数据的查询类似
SELECT * FROM t1
WHERE JSON_EXTRACT(data,"$.series") IN
(
SELECT JSON_EXTRACT(data,"$.inverted")
FROM t1 | {"series": 3, "inverted": 8}
WHERE JSON_EXTRACT(data,"$.inverted")<4 );
那我可以在几个json列中存储巨大的小关系吗?好吗?它破坏规范化了吗?如果可能的话,我想它将像MySQL列中的NoSQL一样。我真的很想了解更多有关此功能的信息。MySQL JSON数据类型的优缺点。
Now it is possible to store more complex data in column
。小心