Sobes.tech
Middle

Wat werkt sneller: count(*) of count(kolom_naam)?

sobes.tech AI

Antwoord van AI

In de meeste databasebeheersystemen (DBMS) werken count(*) en count(kolom_naam) volgens verschillende logica:

  • count(*) telt alle rijen, inclusief die waar de waarden in kolommen NULL kunnen zijn.
  • count(kolom_naam) telt alleen de rijen waar de waarde in de opgegeven kolom niet NULL is.

Qua prestaties is count(*) meestal sneller of even snel, omdat de database geen waarden in een specifieke kolom hoeft te controleren, maar gewoon rijen telt. In sommige geoptimaliseerde engines kan count(*) gebruik maken van metadata of indexen voor snelle telling.

Voorbeeld:

SELECT count(*) FROM users; -- telt alle rijen
SELECT count(email) FROM users; -- telt alleen rijen waar email niet NULL is

Kortom: als je alleen de totale rijtelling nodig hebt, is het beter om count(*) te gebruiken — dit is meestal sneller en nauwkeuriger.