Назад к вопросам
Middle
5
Разница между COUNT(*) и COUNT(1) — что лучше использовать?
Компании, где спрашивали
flank bank
Ответ от нейросети
sobes.tech AI
В SQL запросах COUNT(*) и COUNT(1) часто используются для подсчёта количества строк, но между ними практически нет разницы с точки зрения результата и производительности в большинстве современных СУБД.
COUNT(*)считает все строки, включая те, где все поля NULL.COUNT(1)считает количество строк, подставляя в выражение константу 1, которая всегда не NULL, поэтому результат совпадает сCOUNT(*).
Внутренне оптимизаторы баз данных обычно обрабатывают оба варианта одинаково эффективно. Поэтому лучше использовать COUNT(*) — это стандартный и более читаемый способ подсчёта всех строк.
Пример:
SELECT COUNT(*) FROM employees;
SELECT COUNT(1) FROM employees;
Оба вернут одно и то же число — количество строк в таблице employees.