Menentukan Jumlah Bilangan Baris dengan Penomboran
Apabila melaksanakan penomboran dalam pertanyaan SQL, menentukan jumlah bilangan baris dengan tepat boleh menjadi penting. Menjalankan pertanyaan dua kali—sekali tanpa klausa LIMIT untuk mengira baris dan sekali dengan klausa LIMIT untuk mendapatkan semula data bernombor—mungkin tidak optimum, terutamanya untuk pertanyaan kompleks.
Nasib baik, MySQL menyediakan penyelesaian yang elegan dengan binaan SQL_CALC_FOUND_ROWS dan FOUND_ROWS(). Dengan menambahkan SQL_CALC_FOUND_ROWS pada pertanyaan utama, MySQL mengira jumlah bilangan baris, walaupun dengan kehadiran klausa LIMIT. Pertanyaan berikutnya menggunakan FOUND_ROWS() mendapatkan kiraan ini.
Berikut ialah contoh:
SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE 'a%' LIMIT 10; SELECT FOUND_ROWS();
Pendekatan ini lebih pantas daripada menjalankan pertanyaan dua kali dan memberikan jumlah kiraan yang tepat.
Fungsi Ditamatkan dalam MySQL 8
Dalam MySQL 8.0.17, SQL_CALC_FOUND_ROWS dan FOUND_ROWS() telah ditamatkan. Untuk versi MySQL yang lebih baharu, adalah disyorkan untuk menggunakan COUNT.
SELECT * FROM tbl_name WHERE id > 100 LIMIT 10; SELECT COUNT(*) WHERE id > 100;
Dengan memanfaatkan teknik ini, pembangun boleh mengira baris dengan tepat dalam pertanyaan SQL bernombor tanpa overhed berbilang pertanyaan.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan Jumlah Kiraan Baris dengan Cekap dalam Pertanyaan SQL Bermukasurat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!