В MySQL 5.7 был добавлен новый тип данных для хранения данных JSON в таблицах MySQL . Очевидно, это будет большое изменение в 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? Это хорошо? Это нарушает нормализацию. Если это возможно, я думаю, он будет действовать как NoSQL в столбце MySQL . Я действительно хочу узнать больше об этой функции. Плюсы и минусы типа данных MySQL JSON.
Now it is possible to store more complex data in column
. Будьте осторожны