Mendapatkan Jumlah Kiraan Baris dengan LIMIT
Apabila melaksanakan pertanyaan SQL dengan penomboran, selalunya perlu mendapatkan jumlah kiraan baris. Biasanya, ini memerlukan menjalankan pertanyaan dua kali, sekali tanpa klausa LIMIT untuk menentukan jumlah kiraan.
Walau bagaimanapun, terdapat cara yang lebih cekap untuk mencapai ini tanpa menggunakan berbilang pertanyaan.
SQL_CALC_FOUND_ROWS
Sejak MySQL 4.0.0, pilihan SQL_CALC_FOUND_ROWS boleh digunakan. Ia mengarahkan MySQL untuk mengira jumlah bilangan baris walaupun apabila klausa LIMIT hadir.
Untuk menggunakan pilihan ini, cuma tambahkannya selepas penyataan SELECT dalam pertanyaan utama. Kemudian, laksanakan pertanyaan berasingan untuk mendapatkan semula kiraan baris menggunakan fungsi FOUND_ROWS().
SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE 'a%' LIMIT 10; SELECT FOUND_ROWS();
Nota: Walaupun SQL_CALC_FOUND_ROWS memerlukan dua pertanyaan, ia biasanya lebih pantas daripada melaksanakan pertanyaan utama dua kali . Walau bagaimanapun, pada MySQL 8.0.17, pilihan ini ditamatkan dan akan dialih keluar dalam versi akan datang.
Alternatif: COUNT()
Sebagai alternatif, anda boleh menggunakan fungsi COUNT() dalam pertanyaan berasingan untuk mendapatkan jumlah kiraan baris.
SELECT COUNT(*) FROM tbl_name WHERE id > 100;
Kaedah ini juga memerlukan dua pertanyaan, tetapi pendekatan yang lebih terkini dan lebih disukai.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Jumlah Kiraan Baris dengan Cekap dengan Penomboran dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!