Операция выполнена!
Закрыть
Хабы: Блог компании Тантор Лабс, PostgreSQL, Системное администрирование, Базы данных

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

Читать далее
Читайте также
НОВОСТИ

ПИШИТЕ

Техническая поддержка проекта ВсеТут

info@vsetut.pro