Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah mysql count(*) jauh lebih efisien daripada count(specific_field)?

Untuk InnoDB

Jika specific_field tidak dapat dibatalkan, keduanya setara dan memiliki kinerja yang sama.

Jika specific_field nullable, mereka tidak melakukan hal yang sama. COUNT(specific_field) menghitung baris yang memiliki nilai bukan nol dari specific_field . Ini membutuhkan melihat nilai specific_field untuk setiap baris. COUNT(*) cukup menghitung jumlah baris dan dalam hal ini bisa lebih cepat karena tidak perlu memeriksa nilai specific_field .

Untuk MyISAM

Ada optimasi khusus untuk berikut ini sehingga bahkan tidak perlu mengambil semua baris:

SELECT COUNT(*) FROM yourtable


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan mysql memeriksa jenis kolom gumpalan di mana klausa

  2. Mysql - Kesalahan parse (kesalahan sintaks) dalam kode saya

  3. Pertanyaan MySQL tentang penjadwalan

  4. Cara mendapatkan dan memesan entri yang paling relevan dari database dengan beberapa kata kunci Laravel 5

  5. Urutan pelarian Unicode di baris perintah MySQL