Sobes.tech
Middle

Čo funguje rýchlejšie: count(*) alebo count(názov_stĺpca)?

sobes.tech AI

Odpoveď od AI

U većini sustava za upravljanje bazama podataka (DBMS), count(*) i count(naziv_kolone) rade s različitom logikom:

  • count(*) броји све редове, укључујући оне у којима вредности у колонама могу бити NULL.
  • count(naziv_kolone) броји само оне редове у којима вредност у наведеној колони није NULL.

Што се тиче перформанси, count(*) је обично бржи или бар исто тако брз, јер DBMS не мора да проверава вредности у одређеној колони, већ само броји редове. У неким оптимизованим моторима, count(*) може користити метаподатке или индексе за брзо бројање.

Пример:

SELECT count(*) FROM users; -- броји све редове
SELECT count(email) FROM users; -- броји само редове где email није NULL

Укратко: ако вам је потребан само укупни број редова, боље је користити count(*) — то је обично брже и прецизније.