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.