TGViewer
SQL Portal | Базы Данных SQL Portal | Базы Данных @sqlportal · 13.9K subscribers
Post #1571 1.99K
Никогда не используй COUNT для проверки существования

Если тебе нужно просто понять, есть ли конкретная запись в данных, не используй COUNT() с фильтром (WHERE).

SELECT COUNT(*)
FROM users
WHERE email = 'johnfake@analytica.com';


Проблема в том, что COUNT(*) отвечает на другой вопрос. Он считает, сколько строк подходит под условие, хотя тебе нужно только понять, существует ли хотя бы одна.

Когда ты пишешь COUNT(*), база может пройтись по всем подходящим строкам, чтобы вычислить итоговое число. Даже если совпадение нашлось сразу, она может продолжить, потому что ты попросил полный подсчет. На больших таблицах это лишняя работа.

Вместо COUNT() используй EXISTS:

SELECT EXISTS (
SELECT 1
FROM users
WHERE email = 'johnfake@analytica.com'
);


С EXISTS база остановится, как только найдет первое совпадение. Никакого подсчета, никакого лишнего сканирования.

👉 @SQLPortal
  • ❤ 18
More from @sqlportal
  1. Oct 14, 2026Дубликаты в SQL: способ зависит от задачи • DISTINCT убирает повторяющиеся сочетания выбра…
  2. Oct 14, 2026Числовые функции SQL: от округления до итогов 🔢 Они помогают обрабатывать числа и выполня…
  3. Oct 13, 2026Быстрый SQL начинается с продуманных запросов 1. Выбирайте только нужные столбцы. Вместо S…
  4. Oct 13, 2026SQL помогает получить данные. Статистика — понять, что они означают 20 статистических поня…
  5. Oct 12, 2026Команды SQL проще запомнить по назначению • DDL — создание и изменение структуры БД: CREAT…
  6. Oct 12, 2026Pandas: Python для повседневных задач аналитика 🐼 Загрузить файлы с неаккуратными данными…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →