COUNT(*)
menghitung semua baris dalam kumpulan hasil (atau grup jika menggunakan GROUP BY).COUNT(column_name)
hanya menghitung baris di manacolumn_name
TIDAK NULL. Ini mungkin lebih lambat dalam beberapa situasi bahkan jika tidak ada nilai NULL karena nilainya harus diperiksa (kecuali kolom tidak dapat dibatalkan).COUNT(1)
sama denganCOUNT(*)
karena 1 tidak akan pernah NULL.
Untuk melihat perbedaan hasilnya, Anda dapat mencoba eksperimen kecil ini:
CREATE TABLE table1 (x INT NULL);
INSERT INTO table1 (x) VALUES (1), (2), (NULL);
SELECT
COUNT(*) AS a,
COUNT(x) AS b,
COUNT(1) AS c
FROM table1;
Hasil:
a b c 3 2 3