igordata Ага, быстро. Щаз. В InnoDB какраз таки не быстро. Таблица на 1 млрд записей, объём 500 мегов. Время подсчёта порядка полутра минуты. Правда под нагрузкой, но всё же. InnoDB в статистике хранит примерное кол-во записей, COUNT(*) считает точное. Это Full table scan. Так что имейте ввиду, это какраз тот вариант, когда с ростом данных оно начинает заметно тормозить. Выходя на десятки миллионов оно вообще капец может начать подлагивать.
блин , а ведь реально с такой пустышки такую тему развели *запасся попкорном* давайте теперь решим раз и навсегда что лучше COUNT()'a и есть ли оно , а то вариантов много =))
Просто в MySQL, в отличии от прочих серверов, есть разные storage engine, и есть различия в их работе. А COUNT(*) часто используется и частенько бывает тем местом, которое вызывает сложности с нагрузкой. Так что есть что обсудить. Нечего обсуждать в теме "SELECT * FROM table WHERE field = 1 - нужен индекс или нет?"