Apabila melaksanakan pertanyaan MySQL yang kompleks dengan penomboran (klausa "LIMIT"), mendapatkan jumlah kiraan baris mungkin mencabar. Menjalankan pertanyaan dua kali, sekali tanpa klausa LIMIT untuk jumlah kiraan, boleh menjadi tidak cekap.
Nasib baik, MySQL memperkenalkan pilihan SQL_CALC_FOUND_ROWS, yang membolehkan anda mengira jumlah kiraan baris semasa masih menggunakan klausa LIMIT. Begini caranya:
Contoh Pertanyaan:
<code class="sql">-- Main query with SQL_CALC_FOUND_ROWS SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE 'a%' LIMIT 10; -- Second query to get row count SELECT FOUND_ROWS();</code>
Batasan dan Alternatif:
Walaupun SQL_CALC_FOUND_ROWS menyediakan penyelesaian yang mudah, ambil perhatian bahawa penggunaannya ditamatkan dalam MySQL 8.0.17. Dalam kebanyakan kes, menjalankan pertanyaan dua kali masih lebih pantas.
Sebagai alternatif, MySQL 8.0 memperkenalkan pilihan dioptimumkan berikut untuk mendapatkan kiraan baris:
Dengan menggunakan teknik ini, pembangun boleh mendapatkan semula jumlah baris dengan cekap dalam pertanyaan MySQL bernombor mereka tanpa menjejaskan kelajuan atau prestasi.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kiraan Baris dengan Cekap dalam Pertanyaan MySQL Berpenomboran dengan SQL_CALC_FOUND_ROWS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!