SELECT * ...
, то есть подсчет в PHP, требует переложить все столбцы всех строк обратно в PHP.Это очень много усилий для очень небольшого усиления.
SELECT COUNT(col) ...
выполняет подсчет MySQL, но он должен проверить, является ли col
NULL
.И для каждой строки нужно получить значение col
.
SELECT COUNT(*) ...
считает строки любым наиболее эффективным способом.Это включает в себя поиск «наименьшего» индекса (или всей таблицы, если нет вторичных индексов) и подсчет через него.
Вы должны узнать о INDEXes
, чтобы получить что-нибудь в базах данных!Это только один незначительный использование для них.