Участник сообщества #6
Участник сообщества #6
4 июн. 2025 г., 06:45(изменён)
0
0

Как оптимизировать запрос для извлечения не индексируемого поля?

Из чата сообщества

всем привет, кто может поделиться изящным способом вытянуть не индексируемое поле с минимальными потерями во времени в постгре запросе? пример строки: "(xpath('/collaborator/web_enter_date/text()', cl.data::xml))[1]::text AS web_enter_date, " + делаю join collaborators с collaborator по id и беру единственное нужное поле, обидно отдавать ему столько времени

Участник сообщества
Участник сообщества4 июн. 2025 г., 07:14(изменён)

не изящный вариант: не искать через sql. А далее в коде открывать документ сокращенной формы документа с нужными полями.

Участник сообщества
Участник сообщества4 июн. 2025 г., 07:16(изменён)

По сути это тоже самое но opendoc устанавливает отдельное соединение с бд

Участник сообщества
Участник сообщества4 июн. 2025 г., 07:17(изменён)

Ни как, только костылить. Сделать таблицу в бд и её актуализировать после интеграции с кадровой системой, уменьшать выборку на изначальном уровне до join

Участник сообщества
Участник сообщества4 июн. 2025 г., 07:52(изменён)

либо OpenDoc по своей сокращённой форме либо динамическая группа тех, кто входил хоть раз

Участник сообщества
Участник сообщества4 июн. 2025 г., 09:32(изменён)

Есть вариант через ILIKE LIKE искать не применяя xpath. Сделать сортировку по modification_date, уволен, не кандидат, может по группе. Чуть навесить фильтров

Чтобы ответить, необходимо войти в систему