Hvis kolonnen er indekseret, COUNT(DISTINCT id) skal blot returnere antallet af elementer i indekset for kolonnen. COUNT(id) skal lægge antallet af rækker sammen, som hver indeksindgang peger på, eller scanne alle rækkerne.
For dit andet spørgsmål, se count(*) og count(column_name), hvad er forskellen?
. Det meste af tiden, COUNT(*) er mest passende; der er nogle situationer, såsom at tælle rækker sammenføjet med en ydre joinforbindelse, hvor du skal bruge COUNT(columnname) fordi du ikke ønsker at tælle nul-rækkerne.