Rumah > pangkalan data > tutorial mysql > Pengoptimuman Kiraan Baris SQL: `SELECT SQL_CALC_FOUND_ROWS` lwn. `SELECT COUNT(*)` – Mana Yang Lebih Cepat?

Pengoptimuman Kiraan Baris SQL: `SELECT SQL_CALC_FOUND_ROWS` lwn. `SELECT COUNT(*)` – Mana Yang Lebih Cepat?

Mary-Kate Olsen
Lepaskan: 2024-12-22 02:33:17
asal
398 orang telah melayarinya

SQL Row Count Optimization: `SELECT SQL_CALC_FOUND_ROWS` vs. `SELECT COUNT(*)` – Which is Faster?

Pengoptimuman Prestasi SQL: Membandingkan "SELECT SQL_CALC_FOUND_ROWS..." dan "SELECT COUNT(*)" untuk Pengiraan Baris

Dalam pangkalan data SQL pengoptimuman, menentukan jumlah bilangan rekod dalam jadual adalah penting untuk penomboran dan operasi lain. Dua kaedah biasa untuk tugasan ini ialah "SELECT SQL_CALC_FOUND_ROWS..." dan "SELECT COUNT(*)".

Kaedah 1: "SELECT SQL_CALC_FOUND_ROWS..."

Kaedah ini menggunakan pilihan "SQL_CALC_FOUND_ROWS" dalam pertanyaan SELECT awal untuk menyediakan pelayan untuk mengembalikan jumlah baris kira. Selepas pertanyaan awal, anda boleh mendapatkan semula jumlah kiraan menggunakan "SELECT FOUND_ROWS()".

Kaedah 2: "SELECT COUNT(*)"

Sebagai alternatif, anda boleh menjalankan pertanyaan berasingan menggunakan "SELECT COUNT(*)" untuk mengira terus jumlah baris dalam jadual.

Perbandingan Prestasi

Kaedah optimum untuk menentukan kiraan baris bergantung pada faktor tertentu. Menurut Blog Prestasi MySQL, kecekapan "SQL_CALC_FOUND_ROWS" berbeza-beza berdasarkan indeks dan tetapan konfigurasi lain.

Pemerhatian daripada Pakar

Peter Zaitsev, pengarang Blog Prestasi MySQL, mencadangkan bahawa "SQL_CALC_FOUND_ROWS" biasanya lebih perlahan daripada menjalankan dua pertanyaan berasingan untuk kebanyakan senario. Ramai pengulas pada catatan blog juga menunjukkan bahawa "SQL_CALC_FOUND_ROWS" boleh menjadi lebih perlahan, walaupun dengan faktor 10.

Kesimpulan

Sementara "SELECT SQL_CALC_FOUND_ROWS... " boleh memberi manfaat dalam situasi tertentu, biasanya disyorkan untuk menggunakan "SELECT COUNT(*)" untuk aplikasi kritikal prestasi yang meminimumkan masa pelaksanaan adalah penting. Walau bagaimanapun, anda dinasihatkan untuk menguji kedua-dua kaedah dengan data dan konfigurasi khusus anda untuk menentukan pendekatan optimum untuk kes penggunaan anda.

Atas ialah kandungan terperinci Pengoptimuman Kiraan Baris SQL: `SELECT SQL_CALC_FOUND_ROWS` lwn. `SELECT COUNT(*)` – Mana Yang Lebih Cepat?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan