Perbandingan Prestasi: SQL_CALC_FOUND_ROWS lwn. SELECT COUNT(*)
Apabila mencari jumlah rekod dalam pertanyaan semasa menggunakan penomboran, dua kaedah muncul: SQL_CALC_FOUND_ROWS dan SELECT COUNT(*). Menentukan pendekatan optimum bergantung pada pelbagai faktor.
Kaedah 1: SQL_CALC_FOUND_ROWS
Kaedah ini menggunakan SQL_CALC_FOUND_ROWS dalam pertanyaan SELECT awal dan seterusnya menggunakan FOUND_ROWS() untuk mendapatkan semula jumlah kiraan baris. Sintaksnya adalah seperti berikut:
SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE id > 100 LIMIT 10; SELECT FOUND_ROWS();
Kaedah 2: SELECT COUNT(*)
Sebagai alternatif, pertanyaan berasingan mengira baris menggunakan SELECT COUNT(*), selepas melaksanakan pertanyaan asal. Sintaksnya ialah:
SELECT * FROM table WHERE id > 100 LIMIT 10; SELECT COUNT(*) FROM table WHERE id > 100;
Penilaian Prestasi
Prestasi setiap kaedah berbeza-beza berdasarkan faktor seperti ketersediaan indeks dan kerumitan pertanyaan. Satu analisis komprehensif oleh Blog Prestasi MySQL mencadangkan bahawa:
Akhirnya , pendekatan yang ideal bergantung pada konteks khusus dan keperluan aplikasi. Seperti yang dinyatakan dalam catatan Blog Prestasi, "Ia bergantung pada indeks anda dan faktor lain."
Atas ialah kandungan terperinci SQL_CALC_FOUND_ROWS lwn. SELECT COUNT(*): Manakah Lebih Cepat untuk Penomboran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!