Проверяет знание возможностей индексирования JSON‑структур в СУБД.
Для JSONB-полей в PostgreSQL создают GIN‑индекс или комбинацию B‑tree и GIN с оператором jsonb_path_ops. Это позволяет быстро искать по ключам и значениям внутри JSON без полного сканирования таблицы.
Преобразовать в JSONB:
Использовать колонку типа jsonb вместо json.
Создать GIN‑индекс:
CREATE INDEX idx_data_gin ON my_table USING GIN (data jsonb_path_ops);Использовать операторы:
data->>'key' = 'value' или data @> '{"key":"value"}'.
Часто используемые пути:
Можно создать частичный индекс только для часто запрашиваемых ключей.
Примечание:
GIN‑индексы дороже при вставке, но значительно ускоряют сложные JSON‑фильтры.