在MySQL 5.7中,添加了用于在MySQL表中存储JSON数据的新数据types。 这显然是MySQL的一个很大的变化。 他们列出了一些好处 文档validation – 只有有效的JSON文档可以存储在JSON列中,因此您可以自动validation您的数据。 高效的访问 – 更重要的是,当您将JSON文档存储在JSON列中时,不会将其存储为纯文本值。 而是以优化的二进制格式存储,以便更快地访问对象成员和数组元素。 性能 – 通过在JSON列中的值上创build索引来提高查询性能。 这可以通过虚拟列上的“function索引”来实现。 方便性 – JSON列的附加内联语法使得在SQL中集成文档查询变得非常自然。 例如(features.feature是一个JSON列): SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = 121254; 哇 ! 他们包括一些伟大的function。 现在操作数据比较容易。 现在可以在列中存储更复杂的数据。 所以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 […]