Pokud je sloupec indexován, COUNT(DISTINCT id) stačí vrátit počet položek v indexu pro daný sloupec. COUNT(id) musí sečíst počet řádků, na které každá položka rejstříku ukazuje, nebo prohledat všechny řádky.
Pro vaši druhou otázku viz count(*) a count(column_name), jaký je rozdíl?
. Většinou COUNT(*) je nejvhodnější; v některých situacích, jako je počítání řádků spojených vnějším spojením, je třeba použít COUNT(columnname) protože nechcete počítat prázdné řádky.