2026-10-06 · ИТ и разработка

COALESCE в PostgreSQL замораживает запросы в десятки раз

COALESCE в PostgreSQL замораживает запросы в десятки раз

Функция COALESCE в условиях JOIN заставляет планировщик PostgreSQL выбирать неоптимальный алгоритм выполнения запроса. Один оператор COALESCE способен превратить быстрый Hash Join в медленный Nested Loop, при этом оценка стоимости плана возрастает в десятки раз, хотя данные, статистика и селективность колонки остаются неизменными.

Автор melisssha на Тантор Лабс разобрал, почему планировщик теряет видимость статистики при использовании COALESCE, и показал патч, который учит его считать селективность из имеющихся данных.

Источник: Хабр — всё

Новости этого рынка выходят у нас в телеграме первыми — @adposium_ai.

Все новости