Ini adalah jawaban MySQL.
Mereka melakukan hal yang sama persis - kecuali Anda menggunakan MyISAM, maka kasus khusus untuk COUNT(*)
ada. Saya selalu menggunakan COUNT(*)
bagaimanapun juga.
https://dev.mysql.com/doc /refman/5.6/en/aggregate-functions.html#function_count
###EDITBeberapa dari Anda mungkin melewatkan upaya gelap dalam humor. Saya lebih suka menyimpan ini sebagai pertanyaan non-duplikat untuk hari seperti itu ketika MySQL akan melakukan sesuatu yang berbeda dengan SQL Server. Jadi saya memberikan suara untuk membuka kembali pertanyaan (dengan jawaban yang jelas salah).Untuk
MyISAM
tabel,COUNT(*)
dioptimalkan untuk kembali dengan sangat cepat jikaSELECT
mengambil dari satu tabel, tidak ada kolom lain yang diambil, dan tidak adaWHERE
ayat. Misalnya:mysql> SELECT COUNT(*) FROM student;
Pengoptimalan ini hanya berlaku untuk
MyISAM
tabel, karena jumlah baris yang tepat disimpan untuk mesin penyimpanan ini dan dapat diakses dengan sangat cepat.COUNT(1)
hanya tunduk pada optimasi yang sama jika kolom pertama didefinisikan sebagaiNOT NULL
.
Pengoptimalan MyISAM di atas berlaku sama untuk
COUNT(*)
COUNT(1)
COUNT(pk-column)
COUNT(any-non-nullable-column)
Jadi jawaban sebenarnya adalah mereka selalu sama.