Всем привет! На тестовых средах обновили платформу на 8.3.23 и заметили

что полетели запросы с конструкцией как пример
IN ( VALUES('\\202?;u\\177%\\311*F@w\\270\\034\\0310K'::bytea), ('\\221h\\311\\346\\200[:\\310K1\\033r\\216\\367h\\277'::bytea)))
запросы тут же дергадировали https://explain.tensor.ru/archive/explain/2c210d50e881e4f3070b530f77ab8e25:0:2023-11-23
в предыдущей платформе в запросах VALUES отсутствовал, и как пример плана запроса https://explain.tensor.ru/archive/explain/6d6af325eb7e1e6673530c5ff21f900d:0:2023-11-23
Ктото сталкивался с проблемой?

6 ответов

51 просмотр
kirill- Автор вопроса

Как еще пример деградации https://explain.tensor.ru/archive/explain/49606657dcb18826ea80bf25756c4d1f:0:2023-11-23 И https://explain.tensor.ru/archive/explain/0958b22a9eb62b69b7813565592b383f:0:2023-11-23

Недавно была статья Владимира Крючкова на Инфостарте и там было упоминание об этой проблеме. Решение - переходить на 15 PG

При накладывании условий через оператор В с помощью подзапроса в ВТ, на поле составного типа - PG не использовал индекс и сканил таблицу. В 8.3.19, 21 и 23 проявляется. Пробуйте 15 PG. Ну и пробуйте переписать все такие запросы с использования В на внутреннее соединение

Роман С.
При накладывании условий через оператор В с помощь...

там в статье есть еще один совет, цитирую "А почему MS SQL лучше работает с запросами? Потому что планировщик MS SQL умнее, чем планировщик PostgreSQL. Но PostgreSQL постоянно учится, развивается, есть надежда, что скоро догонит."

kirill- Автор вопроса
Роман С.
При накладывании условий через оператор В с помощь...

это доклад от 22 года когда не было на горизонте 8.3.23, соотвественно конструкции values не было, мне кажется это не решение проблемы

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

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

Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Всем привет. Хотел бы написать для себя свою ос. Причины: 1) нужен опыт в чем-то 2) будет меньше весить 3) свое, но там будут свои задумки Я понимаю что нужно писать для всег...
Shadow Akira
18
Всем привет! Скажите, никто не пытался уменьшить размер процесса ssl, которые ассоциируется с открытым соединением (не помню точное название этого процесса, но там была какая-...
Алексей
20
5? да там все 10
Boris Vinogradov
12
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Why would I rent an account if it’s not mine?
Snr Engineer
3
У меня вопрос: для разработки современных (не учебных) ОС, лучше использовать уже имеющиеся архитектурные решения или нужно будет разрабатывать что-то принципиально новое?
Alexander
5
Всем привет. Запускаю snmp_server вызовом snmp:start() и получаю вот это: {bad_return, {{snmp_app,start,[normal,[]]}, {'EXIT', {{badmatch, {error, {{shutdown, {failed_to_sta...
Δημήτηρ
9
@berkus @diaevd как бы вы сделали dependency injection но без шаблонов?
Boris Vinogradov
5
Карта сайта