По поводу тестов...
заинтересовали... )
Решил выяснить, какой способ
быстрее подсчитывает данные.
Тест проводился в php цикле. n - количество раз. Засекалось время в начале работы скрипта и в конце, после чего высчитывалось время выполнения запроса.
Первый тест, выполнялся
200 раз.
Код:
SELECT SQL_NO_CACHE count(`guid`) FROM `creature`
Код работал 0.0197730064392с.
SELECT SQL_NO_CACHE `guid` FROM `creature`
Код работал 16.0518889427с.
SELECT SQL_NO_CACHE count(1) FROM `creature`
Код работал 0.0185179710388с.
SELECT SQL_NO_CACHE count(*) FROM `creature`
Код работал 0.0183970928192с.
Селект без
count() отпадает сразу, результат на глаза. Остальные же запросы, было сложно оценить, в плане производительности. Для этого проводился второй тест.
Второй тест, выполнялся
200000 раз.
Код:
SELECT SQL_NO_CACHE count(`guid`) FROM `creature`
Код работал 19.9426920414с.
SELECT SQL_NO_CACHE count(1) FROM `creature`
Код работал 19.7694129944с.
SELECT SQL_NO_CACHE count(*) FROM `creature`
Код работал 19.4894280434с.
count(*) - бесспорный победитель.