Загрузка...

⚡️ SQL-совет по оптимизации - DISTINCT ON + правильный индекс (PostgreSQL) #coding #python #sql

SQL-совет по оптимизации

DISTINCT ON часто недооценивают, но в PostgreSQL это один из самых быстрых способов получить «последнюю запись на группу» без подзапросов и оконных функций.

Проблема
Нужно выбрать, например, последнюю запись для каждого user_id, отсортированную по created_at.

Типичные, но медленные решения
- оконная функция ROW_NUMBER
- подзапрос с GROUP BY и JOIN

Они работают, но на больших таблицах быстро становятся узким местом.

Редкое и очень быстрое решение
DISTINCT ON в сочетании с индексом, который совпадает с ORDER BY.

Как это работает.
PostgreSQL берет первую строку для каждой группы согласно ORDER BY и сразу идет дальше.
Без полной сортировки результата и без оконных функций.

Ключевой момент оптимизации
Без правильного индекса вся магия пропадает.

Что дает корректный индекс
- Index Scan вместо Seq Scan
- отсутствие дополнительной сортировки
- высокая скорость даже на миллионах строк

DISTINCT ON - это PostgreSQL-специфичный, но крайне мощный трюк.
Если ты работаешь с Postgres, это один из лучших способов ускорить такие запросы.

Подписывайся, больше фишек каждый день !

Видео ⚡️ SQL-совет по оптимизации - DISTINCT ON + правильный индекс (PostgreSQL) #coding #python #sql канала Uproger / Machine Learning / Ai
Яндекс.Метрика
Все заметки Новая заметка Страницу в заметки
Страницу в закладки Мои закладки
На информационно-развлекательном портале SALDA.WS применяются cookie-файлы. Нажимая кнопку Принять, вы подтверждаете свое согласие на их использование.
О CookiesНапомнить позжеПринять