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

Если нужно просто проверить, существует ли запись, не используй COUNT() с фильтром (WHERE)

SELECT COUNT(*)
FROM users
WHERE email = 'http://thisemaildontexist.com';


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

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

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

SELECT EXISTS (
SELECT 1
FROM users
WHERE email = 'http://thisemaildontexist.com'
);


👉 @SQLPortal
  • 👍 8
  • ❤ 3
More from @sqlportal
  1. Oct 12, 2026Pandas: Python для повседневных задач аналитика 🐼 Загрузить файлы с неаккуратными данными…
  2. Oct 11, 2026Чтобы запросы оставались быстрыми, понятными и справлялись с ростом объёма данных, нужны х…
  3. Oct 11, 2026SQL: порядок написания ≠ порядок обработки Запрос начинается с SELECT, но логически обраба…
  4. Oct 10, 2026Какие навыки нужны дата-инженеру? В вакансиях прослеживается закономерность: на первом мес…
  5. Oct 10, 2026Бэкап есть? А если найду? 😳 👉 @SQLPortal
  6. Oct 9, 2026Горизонтальные или вертикальные столбцы: что выбрать? Оба варианта помогают сравнивать кат…
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 →