Cara Menentukan Bilangan Baris yang Dikembalikan oleh Pertanyaan MySQL
Dalam bidang pertanyaan MySQL, selalunya perlu untuk memastikan bilangan baris yang dihasilkan oleh pertanyaan tertentu. Kiraan ini memberikan cerapan berharga tentang saiz dan kandungan set hasil. Mari kita terokai pelbagai kaedah untuk mencapai matlamat ini.
Pengiraan Baris Berulang
Pendekatan mudah adalah untuk melelaran melalui baris hasil dan menambah pembilang, tetapi kaedah ini mungkin tidak cekap untuk set data yang besar.
Fungsi mysql_num_rows()
Bagi mereka yang bekerja dengan perpustakaan klien MySQL, fungsi mysql_num_rows() menyediakan cara terus untuk mendapatkan semula kiraan baris dalam set hasil. Setara dengannya dalam PHP ialah mysqli_num_rows().
Fungsi COUNT(*)
Untuk mengira bilangan baris yang sepadan dengan kriteria tertentu, gunakan fungsi COUNT(*) dalam pertanyaan. Contohnya:
<code class="sql">SELECT COUNT(*) FROM foo WHERE bar= 'value';</code>
SQL_CALC_FOUND_ROWS dan FOUND_ROWS()
Untuk menentukan jumlah baris dalam pertanyaan yang menggunakan klausa LIMIT, gunakan SQL_CALC_FOUND_ROWS diikuti dalam pertanyaan awal oleh SELECT FOUND_ROWS():
<code class="sql">SELECT SQL_CALC_FOUND_ROWS * FROM foo WHERE bar="value" LIMIT 10; SELECT FOUND_ROWS();</code>
Pertimbangan Tambahan
Apabila berurusan dengan jadual besar, menggunakan SQL_CALC_FOUND_ROWS boleh menjadi tidak cekap. Untuk kes sedemikian, pertimbangkan untuk melaksanakan pertanyaan kiraan yang berasingan dan menyimpan cache hasilnya untuk rujukan masa hadapan.
Penahentian SQL_CALC_FOUND_ROWS
Setakat MySQL versi 8.0.17, fungsi SQL_CALC_FOUND_ROWS ditamatkan dan akan dialih keluar dalam versi akan datang. Pendekatan yang disyorkan ialah mengeluarkan pertanyaan berasingan untuk mengira kiraan baris.
Atas ialah kandungan terperinci Bagaimana Anda Menentukan Bilangan Baris yang Dikembalikan oleh Pertanyaan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!