Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 15920|Jawab: 1

[Sumber] Kesalahpahaman tentang count(0) dan count(*) dalam pernyataan SQL

[Salin tautan]
Diposting pada 10/08/2017 13.29.00 | | |
Baru-baru ini, fungsi angka telah banyak digunakan, dan ketika angka yang akan dihitung relatif besar, ditemukan bahwa count(*) membutuhkan lebih banyak waktu, dan count(1) membutuhkan waktu lebih sedikit.

Beberapa dokumen memiliki pernyataan berikut:

Jika tabel data Anda tidak memiliki kunci primer, maka count(1) lebih cepat daripada count(*).  
Jika ada kunci primer, maka kunci primer (kunci primer bersama) juga lebih cepat dari count(*).  
Jika tabel Anda hanya memiliki satu bidang, maka count(*) adalah yang tercepat  
count(*) count(1) Bandingkan keduanya. Hal utama adalah menghitung bidang data yang sesuai dengan (1).  
Jika count(1) adalah polyindex, id, maka itu harus count(1) lebih cepat. Tapi perbedaannya sangat kecil.  
Karena count(*), bidang secara otomatis dioptimalkan untuk menentukan ke. Jadi tidak perlu count(?), gunakan count(*), SQL akan membantu Anda menyelesaikan pengoptimalan

  Detail Hitungan:
count(*) akan mengembalikan jumlah total semua baris yang ada dalam tabel, termasuk baris dengan nilai null,Namun, count (nama kolom) akan mengembalikan jumlah total semua baris dalam tabel kecuali null(Kolom dengan nilai default juga dihitung).
nama kolom yang berbeda, hasilnya akan menjadi hasil setelah menghapus nilai null dan data duplikat


Di masa lalu, saya tidak tahu bahwa blog mengatakan bahwa semua orang direkomendasikan untuk menggunakan count(0) dan bahwa efisiensi kueri relatif tinggi, dll

Saat ini, ditemukan bahwa menggunakan count(0) adalah kesalahpahaman!!
count(0) Kolom pertama statistik tidak kosong

Jangan gunakan number(nama kolom) atau count(constant) alih-alih count(*),

count(*) adalah sintaks untuk jumlah baris standar yang ditentukan oleh SQL92, yang tidak ada hubungannya dengan database, NULL dan non-NULL.

Catatan: count(*) menghitung baris dengan nilai NULL, sedangkan count(nama kolom) tidak menghitung baris dengan nilai NULL.

Oleh karena itu, di masa depan, ketika Anda melakukan semua statistik dan tidak mengesampingkan data kosong, lebih baik menggunakan hitungan (*) dengan jujur!!








Mantan:Perbedaan antara variabel definisi let dan var dalam js
Depan:jQuery mengimplementasikan tabel untuk menampilkan hingga 10 bagian data
Diposting pada 10/08/2017 13.54.00 |
diajarkan                 
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com