Це давнє запитання, але я все ще в змозі побачити це у верхній частині результату пошуку Google, тому я думаю, було б доцільно додати нову відповідь через 4 роки після того, як запитання було поставлено.
Перш за все, є краща підтримка для зберігання JSON в RDBMS. Ви можете розглянути можливість переходу на PostgreSQL (хоча MySQL підтримує JSON з версії 5.7.7). PostgreSQL використовує дуже схожі команди SQL, як MySQL, за винятком того, що вони підтримують більше функцій. Однією з функцій, які вони додали, є те, що вони надають тип даних JSON, і тепер ви можете запитувати збережений JSON. ( Деякі посилання на це ) Якщо ви не робите запит безпосередньо у вашій програмі, наприклад, використовуючи PDO в php або красномовно в Laravel, все, що вам потрібно зробити, це просто встановити PostgreSQL на вашому сервері та змінити налаштування підключення до бази даних. Вам навіть не потрібно змінювати код.
Здебільшого, як підказали інші відповіді, зберігання даних як JSON безпосередньо в RDBMS не є хорошою ідеєю. Однак є деякі винятки. Я можу придумати ситуацію - поле зі змінною кількістю пов'язаного запису.
Наприклад, для зберігання тегів допису в блозі зазвичай потрібно мати таблицю для публікації в блозі, таблицю тегів і відповідну таблицю. Отже, коли користувачеві хочеться відредагувати публікацію, і вам потрібно буде відобразити, який тег пов’язаний з цією публікацією, вам потрібно буде запитати 3 таблиці. Це значно пошкодить продуктивність, якщо ваша відповідна таблиця / таблиця тегів довга.
Зберігаючи теги як JSON у таблиці публікацій блогу, ця сама дія вимагає лише пошуку однієї таблиці. Користувач зможе побачити публікацію в блозі для швидшого редагування, але це пошкодить продуктивність, якщо ви хочете скласти звіт про те, яку публікацію пов’язано з тегом, або, можливо, шукати за тегом.
Ви також можете спробувати знешкодити базу даних. Дублюючи дані та зберігаючи дані обома способами, ви можете отримати переваги обох методів. Вам просто знадобиться трохи більше часу для зберігання даних і більше місця для зберігання (що дешево порівняно з вартістю більшої обчислювальної потужності)