PostgreSQL 16 вносит немало улучшений в планировщик запросов и позволяет выполнять многие SQL-запросы быстрее, чем в предыдущих версиях PostgreSQL.
Вот некоторые из изменений:
⏩Разрешена инкрементальная сортировка в большем количестве случаев, включая
DISTINCT ⏩Добавлена возможность для агрегатов, имеющих
ORDER BY или DISTINCT, использовать предварительно отсортированные данные⏩Разрешена мемоизация в
UNION ALL⏩Разрешено выполнять
anti-join с ненулевым входом в качестве внутреннего отношения⏩Разрешено распараллеливание
FULL и RIGHT OUTER хэш-соединения⏩Разрешено оконным функциям использовать более быстрый режим
ROWS, когда режим RANGE активен, но не нужен⏩Оптимизация постоянно увеличивающихся оконных функций
ntile(), cume_dist() и percent_rank()⏩Разрешено удаление
left join и unique joins в секционированных таблицах⏩Можно использовать
Limit вместо Unique для реализации DISTINCT, когда это возможно⏩Ослаблены слишком строгие правила в
select_outer_pathkeys_for_merge()📎 Статья с подробным описанием улучшений
@sqlhub
