GIN‑индексы для JSONB в PostgreSQL: jsonb_ops vs jsonb_path_ops
С JSONB в PostgreSQL есть одна довольно коварная ловушка: GIN‑индекс вроде бы поставили, запросы вроде бы работают, EXPLAIN не пугает — и на этом многие успокаиваются. Но как только данных становится действительно много, выясняется, что выбор между jsonb_ops и jsonb_path_ops — это не нюанс из документации, а вполне ощутимая разница в размере индекса, количестве лишних проверок и времени выполнения запросов. В этой статье разберём, как устроены оба оператор‑класса, почему один считается универсальным, а второй часто оказывается выгоднее на практике, и в каких случаях дефолтный выбор в PostgreSQL оказывается далеко не лучшим.
https://habr.com/ru/companies/otus/articles/1015518/
#psql #GINиндексы #JSONB #postgresql #jsonb_ops #jsonb_path_ops #индексация_JSONB #оптимизация_SQLзапросов #containment_operator






