James Simpson
James Simpson

Reputation: 13688

COUNT(id) vs. COUNT(*) in MySQL

Is there a difference between the following queries, assuming there is a primary field 'id' in the table (as in speed, etc)?

SELECT COUNT(id) 
  FROM table

vs.

SELECT COUNT(*) 
  FROM table

Upvotes: 38

Views: 64299

Answers (2)

Gabriel Espinoza
Gabriel Espinoza

Reputation: 413

I know this is several years old but I don't see any evidence on which one to use, so I will post here my findings.

Executing explain in MySql Workbench for an InnoDB table on MySql 5.7 I see the following:

Executing count(*)

Executing count(id)

As you can see, both results are identical, so for this scenario both expressions are equivalent

Upvotes: 3

Guguzz
Guguzz

Reputation: 21

One important different is that Count(*) and Count($col_name) can show different outputs if the $col_name column is nullable, since null values don't get counted by Count.

Upvotes: 2

Related Questions