COUNT(*) vs. COUNT(1) vs. COUNT(pk): which is better? [duplicate]

I often find these three variants:

SELECT COUNT(*) FROM Foo;
SELECT COUNT(1) FROM Foo;
SELECT COUNT(PrimaryKey) FROM Foo;

As far as I can see, they all do the same thing, and I find myself using the three in my codebase. However, I don’t like to do the same thing different ways. To which one should I stick? Is any one of them better than the two others?

5 Answers
5

Leave a Comment