Продвинутый SQL совет - всегда проверяй, можно ли заменить SELECT DISTINCT на правильны... — 11 апреля 2026 г. в 08:07:09.231
Продвинутый SQL совет - всегда проверяй, можно ли заменить SELECT DISTINCT на правильный JOIN или EXISTS. Очень часто DISTINCT добавляют просто чтобы убрать дубли после неудачного join. Запрос вроде работает, но по факту ты сначала раздуваешь результат, а потом заставляешь базу его чистить. На больших таблицах это легко убивает производительность. Плохой вариант: SELECT DISTINCT u.id , u.name FROM users u JOIN orders o ON o.user_id = u.id ; Лучше так: SELECT u.id , uame.n FROM users u WHERE EXISTS ( SELECT 1 FROM orders o WHERE o.user_id = u.id ); Почему это сильный приём: EXISTS останавливается, как только находит первое совпадение не нужно тащить лишние строки не нужно потом убирать дубли логика запроса становится честной - ты проверяешь наличие, а не собираешь мусор Это один из самых частых hidden performance fixes в SQL. Если видишь DISTINCT, сразу спрашивай себя: он тут реально нужен или просто маскирует плохую логику JOIN.

