Как сделать SQL не только читаемым, но и быстрым... CTE — это классно. Читается, как рецепт. Но есть нюанс. PostgreSQL не кеширует CTE — каждый вызов = новый расчёт. Если ты используешь одну и ту же логику 3 раза — будь готов ждать. Особенно на больших объёмах. ▪️ Боль: — Запрос стал медленным — JOIN тормозит — План запроса выглядит как кошмар DBA ▪️ Решение: временная таблица — Один раз посчитал — дальше только используешь — Можно повесить индекс — Можно прогнать ANALYZE — Получаешь стабильность и прирост в скорости ▪️ TEMP TABLE — это не костыль. Это инструмент, если ты: • делаешь сложный пайп • считаешь тяжёлую метрику • хочешь предсказуемый план запроса Сценарий 1 Сценарий 2 Сценарий 3 Разбираемся, как мыслит PostgreSQL и почему «удобно» — не всегда «умно» На уровне junior CTE кажется магией: красиво, читаемо, локально. А потом ты запускаешь запрос на проде... и он не просто "думает", он медитирует. И тут приходит senior — и говорит: "А давай-ка поговорим про планировщик, кэш и ма