Rumah > pangkalan data > tutorial mysql > Count(*) vs Count(1) dalam SQL Server: Adakah Ia Memberi Impak Prestasi?

Count(*) vs Count(1) dalam SQL Server: Adakah Ia Memberi Impak Prestasi?

DDD
Lepaskan: 2025-01-23 18:38:14
asal
769 orang telah melayarinya

Count(*) vs. Count(1) in SQL Server: Does it Impact Performance?

*Perbezaan prestasi antara COUNT() dan COUNT(1) dalam SQL Server: analisis mendalam**

Ramai pembangun bimbang sama ada menggunakan COUNT(1) adalah lebih baik daripada COUNT(*) dalam SQL Server 2005. Artikel ini akan menyelidiki isu ini dan menerangkan sebab di sebaliknya.

Kesimpulan: Tiada perbezaan dalam prestasi

Bertentangan dengan kepercayaan popular, tiada perbezaan prestasi yang ketara antara COUNT(1) dan COUNT(*). Kedua-duanya menghasilkan hasil yang sama dari segi pengiraan baris.

Punca: Pengoptimum SQL Server

Pengoptimum SQL Server mengiktiraf bahawa COUNT(1) dan COUNT(*) mengembalikan maklumat yang sama dan mengoptimumkan dengan sewajarnya. Pengoptimum menganggap kedua-dua fungsi ini sebagai operasi remeh, yang bermaksud bahawa penilaian ungkapan adalah sangat mudah dan tidak menjejaskan prestasi.

Contoh

Pertimbangkan pertanyaan berikut:

SELECT COUNT(1) FROM dbo.tab800krows
SELECT COUNT(1), FKID FROM dbo.tab800krows GROUP BY FKID

SELECT COUNT(*) FROM dbo.tab800krows
SELECT COUNT(*), FKID FROM dbo.tab800krows GROUP BY FKID
Salin selepas log masuk

Input/output (IO) dan rancangan pelaksanaan adalah sama untuk kedua-dua set pertanyaan. Ini membuktikan bahawa pengoptimum SQL Server mengiktiraf kesetaraan COUNT(1) dan COUNT(*).

Ringkasan

Ringkasnya, menggunakan COUNT(1) tidak memberikan sebarang kelebihan prestasi berbanding COUNT(*) dalam SQL Server 2005. Sistem pangkalan data mengoptimumkan kedua-dua fungsi untuk menghasilkan hasil yang sama. Oleh itu, pembangun boleh memilih sintaks yang mereka suka tanpa perlu risau tentang isu prestasi.

Atas ialah kandungan terperinci Count(*) vs Count(1) dalam SQL Server: Adakah Ia Memberi Impak Prestasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan