|
|
От: |
bnk
|
http://unmanagedvisio.com/ |
| Дата: | 17.03.25 13:34 | ||
| Оценка: | 81 (2) +1 | ||
Да, можно ускорить поиск за счёт использования оператора JSONB‑контейнера @>. Он особенно эффективен с GIN‑индексом, созданным для jsonb‑поля.
Например, вместо обхода массива через функцию jsonb_array_elements, можно выполнить запрос так:
SELECT *
FROM test_arr
WHERE arr_ids @> '["c"]'::jsonb;
Здесь проверяется, содержит ли jsonb‑массив элемент "c". GIN‑индекс, созданный на столбце arr_ids, будет использован, что существенно ускорит выборку на больших объёмах данных.