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.