Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mendapatkan Jumlah Kiraan Hasil dengan Cekap dalam Penomboran MySQL Semasa Menggunakan LIMIT dan OFFSET?

Bagaimanakah Saya Boleh Mendapatkan Jumlah Kiraan Hasil dengan Cekap dalam Penomboran MySQL Semasa Menggunakan LIMIT dan OFFSET?

Linda Hamilton
Linda Hamiltonasal
2024-11-27 11:04:12195semak imbas

How Can I Efficiently Get Total Result Count in MySQL Pagination While Using LIMIT and OFFSET?

Mendapatkan Jumlah Hasil menggunakan MySQL Offset dan Had

Penomboran melibatkan mendapatkan semula subset data daripada pangkalan data berdasarkan nilai offset dan had. Walau bagaimanapun, untuk menentukan jumlah halaman, pengetahuan tentang jumlah keputusan diperlukan. Artikel ini mengemukakan soalan pengaturcaraan yang berkaitan dengan kaedah yang cekap untuk mengira jumlah ini.

Soalan:

Dalam PHP/MySQL, pengguna yang melaksanakan penomboran menghadapi keperluan untuk menentukan jumlah bilangan hasil untuk pertanyaan tertentu, walaupun semasa menggunakan parameter ofset dan had. Kebimbangannya ialah melaksanakan pertanyaan kedua tanpa kekangan had untuk mengira baris mungkin terbukti membazir secara pengiraan. Adakah terdapat pendekatan yang lebih mesra sumber?

Jawapan:

Ya, terdapat penyelesaian yang dioptimumkan untuk senario ini. Dengan menggunakan kata kunci SQL_CALC_FOUND_ROWS pada permulaan pertanyaan awal, MySQL akan melakukan kiraan automatik bagi semua baris yang sepadan, tanpa mengira sekatan offset atau had. Ini menghapuskan keperluan untuk pertanyaan kedua.

Berikut ialah cara mengubah suai pertanyaan anda dengan SQL_CALC_FOUND_ROWS:

SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE category_id = ? LIMIT ?, ?

Setelah pertanyaan yang diubah suai ini dilaksanakan, anda boleh melaksanakan pertanyaan berikut untuk mendapatkan jumlah keseluruhan kiraan baris yang sepadan:

SELECT FOUND_ROWS()

Dengan menggunakan SQL_CALC_FOUND_ROWS, anda boleh mendapatkan semula kedua-dua hasil penomboran dan jumlah hasil dengan satu panggilan pangkalan data dengan cekap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Jumlah Kiraan Hasil dengan Cekap dalam Penomboran MySQL Semasa Menggunakan LIMIT dan OFFSET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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