Count(*) için kullanılan * ile select * için kullanılan * aynı anlamda değildir. Birden çok alanı say anlamına gelmez. Count(*), dönen satırların adedini verir, count(alanadı) ise alanadı null olmayan satırların sayısını verir. O yüzden, Count(*), count(id)'den daha yavaş olarak kabul edilmemelidir. Hatta primer key alan olan id yerine başka alan kullanıldığında count(*) genel olarak daha hızlı olur. Optimizasyonlar ve ön bellekleme bir yana bırakılırsa, count (*) bir de değerler null mu değil mi diye kontrol etmek zorunda kalmaz. Şunları incelemenizde fayda var:
1-
http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_count
2-
COUNT(*) vs COUNT(col)