что полетели запросы с конструкцией как пример
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
Ктото сталкивался с проблемой?
Как еще пример деградации https://explain.tensor.ru/archive/explain/49606657dcb18826ea80bf25756c4d1f:0:2023-11-23 И https://explain.tensor.ru/archive/explain/0958b22a9eb62b69b7813565592b383f:0:2023-11-23
Недавно была статья Владимира Крючкова на Инфостарте и там было упоминание об этой проблеме. Решение - переходить на 15 PG
https://infostart.ru/1c/articles/1979106/
При накладывании условий через оператор В с помощью подзапроса в ВТ, на поле составного типа - PG не использовал индекс и сканил таблицу. В 8.3.19, 21 и 23 проявляется. Пробуйте 15 PG. Ну и пробуйте переписать все такие запросы с использования В на внутреннее соединение
там в статье есть еще один совет, цитирую "А почему MS SQL лучше работает с запросами? Потому что планировщик MS SQL умнее, чем планировщик PostgreSQL. Но PostgreSQL постоянно учится, развивается, есть надежда, что скоро догонит."
это доклад от 22 года когда не было на горизонте 8.3.23, соотвественно конструкции values не было, мне кажется это не решение проблемы
Обсуждают сегодня