172 похожих чатов

Добрый день Есть таблица table_base, в которой есть поле children в

виде JSON массива ключей таблицы table_sub.

В итоге запрос идет такой:
SELECT FROM table_base p
CROSS JOIN json_array_elements_text(e.children) pc (child_id)
JOIN table_sub c ON pc.child_id :: INT = c.id

Можно ли без json_array_elements_text сделать JOIN двух таблиц, через IN, = ANY и т.п.? Что-то не могу найти для JSON вариантов

4 ответов

6 просмотров
Sergey-Gerasimov Автор вопроса

Через = ANY (ARRAY((SELECT json_array_elements_text(p.children))) :: INT[]) получилось ускорить запрос, но можно ли на ARRAY((SELECT json_array_elements_text(p.children))) :: INT[] поставить индекс?

Sergey Gerasimov
Через = ANY (ARRAY((SELECT json_array_elements_tex...

Поставить индэкс, конечно, не возбраняется. Btree, в вашэм случае ничего не даст. Gin ещё можэт иметь смысл в некоторых случаях, но... В общем, чтобы был шанс — надо понимать что эти индэксы делают. Точнее, как postgres по ним ищет и что можэт в процэссе поиска произойти.

Sergey-Gerasimov Автор вопроса
Ilya Anfimov
Поставить индэкс, конечно, не возбраняется. Btree...

Да это понятно. Просто хотя бы прочитать в каком направлении почитать. А btree и gin не подходят, говорит тип не соответствует =)

Похожие вопросы

Обсуждают сегодня

Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Есть тут те у кого дети есть + 2 работы + в зал ходят + в семейной жизни все хорошо?
Abdul-Aziz M.
13
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
кто шарит: mattermost отслеживает что ты на пк запускаешь?
Valentin
13
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
Всем привет! Стоит задачка, выбрать из выпадающего списка конкретный цвет. Пока реализовал через активацию контрола списка и выбора несколькими нажатиями стрелки вправо до нуж...
Роман.С
9
Карта сайта