У 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 colum? Це добре? Чи порушує це нормалізація. Якщо це можливо, я думаю, він буде діяти як NoSQL у стовпці MySQL . Мені дуже хочеться дізнатися більше про цю особливість. Плюси і мінуси типу даних MySQL JSON.
Now it is possible to store more complex data in column
. Будьте обережні