Sobes.tech
Middle

Hangi daha hızlı çalışır: count(*) veya count(sütun_adi)?

sobes.tech yapay zeka

AI'dan gelen yanıt

Çoğu veritabanı yönetim sisteminde (count(*) ve count(alan_adi)) farklı mantıklarla çalışır:

  • count(*) tüm satırları sayar, sütunlarda NULL olabilecek değerler dahil.
  • count(alan_adi) sadece belirtilen sütundaki NULL olmayan değerleri sayar.

Performans açısından, count(*) genellikle daha hızlıdır veya en azından aynı hızdadır, çünkü veritabanı belirli bir sütundaki değerleri kontrol etmek zorunda kalmaz, sadece satırları sayar. Bazı optimize edilmiş motorlarda, count(*) hızlı sayım için meta verileri veya indeksleri kullanabilir.

Örnek:

SELECT count(*) FROM users; -- tüm satırları sayar
SELECT count(email) FROM users; -- sadece email değeri NULL olmayan satırları sayar

Sonuç olarak: sadece toplam satır sayısına ihtiyacınız varsa, count(*) kullanmak daha iyidir — bu genellikle daha hızlı ve daha doğrudur.