MySQL JSON поля: зберігання та запити до JSON-даних

MySQL / MariaDB · 19.04.2026
MySQL JSON поля: зберігання та запити до JSON-даних

MySQL JSON поля

З MySQL 5.7 з'явився нативний тип даних JSON з валідацією та оптимізованим зберіганням. Зручний для конфігурацій, метаданих та напівструктурованих даних.

Запити до JSON

-- Оператор -> (повертає JSON)
SELECT meta->'$.age' AS age FROM users;

-- Оператор ->> (повертає текст)
SELECT meta->>'$.address.city' AS city FROM users;

-- Фільтрація
SELECT * FROM users WHERE meta->>'$.address.city' = 'Kyiv';

Індексація JSON

-- Використовуйте згенерований стовпець:
ALTER TABLE users
ADD COLUMN city VARCHAR(100)
GENERATED ALWAYS AS (meta->>'$.address.city') STORED;

CREATE INDEX idx_city ON users(city);
Не зловживайте JSON: Якщо поле часто використовується у WHERE або JOIN — виведіть його в звичайний стовпець з індексом.
← Назад до бази знань Поставити питання підтримці