Mendapatkan Jumlah Hasil Penomboran dengan cekap dengan MySQL
Penomboran ialah ciri penting yang meningkatkan navigasi pengguna melalui set data yang besar. Dalam MySQL, ini selalunya dicapai menggunakan klausa OFFSET dan LIMIT untuk mengambil subset hasil tertentu. Walau bagaimanapun, untuk menentukan jumlah halaman yang diperlukan, anda perlu mengetahui jumlah kiraan hasil sebelum menggunakan parameter penomboran.
Secara tradisinya, pembangun akan melaksanakan pertanyaan dua kali: sekali dengan LIMIT untuk mendapatkan subset dan sekali lagi tanpa LIMIT untuk mengira keputusan. Pendekatan ini boleh mengakibatkan penggunaan sumber yang tidak perlu. Nasib baik, terdapat penyelesaian yang lebih cekap menggunakan petunjuk SQL_CALC_FOUND_ROWS:
Menggunakan SQL_CALC_FOUND_ROWS:
Untuk mengoptimumkan proses, tambah SQL_CALC_FOUND_ROWS pada pertanyaan SQL asal anda:
SELECT * FROM table_name WHERE category_id = 1 ORDER BY id LIMIT 10 OFFSET 20
Dapatkan Jumlah Kiraan:
Selepas melaksanakan pertanyaan, anda boleh mendapatkan jumlah kiraan baris yang sepadan menggunakan pernyataan SQL berikut:SELECT FOUND_ROWS()
Mengira Halaman:
Dengan jumlah kiraan dan parameter LIMIT diketahui, anda boleh mengira jumlah halaman dengan mudah:$totalPages = ceil($totalCount / $limit);
Contoh Kod:
Dalam CodeIgniter, anda boleh menggunakan coretan kod berikut, dengan andaian anda telah mentakrifkan pertanyaan anda dalam $query pembolehubah:$query->sql_calc_found_rows(); $result = $query->get(); $totalPages = ceil($this->db->query('SELECT FOUND_ROWS()')->row('FOUND_ROWS()') / $limit);
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Jumlah Hasil Secara Cekap untuk Penomboran dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!