SQL Получение оптимизации подсчета строк [дубликат
-
28-10-2019 - |
Вопрос
Возможный дубликат:
В SQL, в чем разница между счетом (столбцом) и подсчетом ()?
Считать() VS COUN (1)
У меня есть большие таблицы, которые хранят длинные тексты, например, содержимое электронной почты или новости. И мой вопрос в том, что есть какая -то разница для производительности для подсчета строк таблиц:
SELECT COUNT(*) FROM table_name
SELECT COUNT(t.id) FROM table_name as t
Какой из них лучше? Или последний будет оптимизирован с помощью оптимизатора запросов? Есть ли документация по этому поводу?
Решение
Они разные.
COUNT(*)
получу все значения (даже NULL
значения подсчет).COUNT(t.id)
не считает NULL
ценности.
С точки зрения производительности, они одинаковы (оптимизатор запроса умный).
Другие советы
План запросов выглядит так же, но при тестировании, используя *, быстрее (немного).
Ноль не учитывается при указании имени столбца.