Если тебе нужно быстро проверить существование строк - никогда не используй `COUNT(*)`.
❌ Плохо:
SELECT COUNT(*) FROM orders WHERE user_id = 42;
✅ Правильно:
SELECT 1 FROM orders WHERE user_id = 42 LIMIT 1;
Почему:
- `COUNT(*)` считает все строки
- `EXISTS` / `LIMIT 1` останавливаются на первом совпадении
- На больших таблицах разница — кратная
Лучший вариант:
SELECT EXISTS (
SELECT 1 FROM orders WHERE user_id = 42
);
Меньше I/O, меньше CPU, быстрее запрос.