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
695 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:

<code class="language-sql">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</code>
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!

sumber:php.cn
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