Pengoptimuman MySQL: SELECT COUNT() vs mysql_num_rows() untuk Jadual Besar
Dalam pengoptimuman pangkalan data, adalah penting untuk memilih kaedah yang betul untuk memproses data yang besar dengan cekap. SELECT COUNT() dan mysql_num_rows() ialah dua fungsi yang biasa digunakan dalam PHP apabila berurusan dengan jadual besar. Walau bagaimanapun, ciri prestasi mereka berbeza dengan ketara.
SELECT COUNT() vs mysql_num_rows()
SELECT COUNT() mengembalikan kiraan baris yang sepadan dengan syarat yang ditetapkan. Walau bagaimanapun, ia tidak mendapatkan semula data sebenar, dengan itu menjimatkan memori dan sumber pemprosesan.
mysql_num_rows() mengembalikan bilangan baris dalam set hasil. Walau bagaimanapun, untuk menggunakan mysql_num_rows(), pelayan mesti mendapatkan semula keseluruhan keputusan yang ditetapkan ke dalam memori, yang boleh menjadi intensif sumber untuk jadual besar.
Pertimbangan Prestasi
Untuk jadual rekod 60 juta anda, menggunakan SELECT COUNT() disyorkan atas sebab prestasi. Secara dalaman, pelayan mengoptimumkan pertanyaan COUNT() untuk memperuntukkan memori hanya untuk hasil kiraan, dengan ketara mengurangkan penggunaan memori.
Sebaliknya, mysql_num_rows() memerlukan pelayan memproses dan memperuntukkan memori untuk keseluruhan hasil. ditetapkan. Ini boleh membawa kepada penurunan prestasi, terutamanya untuk jadual besar.
Penomboran untuk Hasil Carian
Untuk penomboran dengan hasil carian, anda sedang menggunakan pendekatan dua langkah. Dalam langkah pertama, anda mendapatkan semula semua hasil carian dan dalam langkah kedua, anda mengiranya untuk membuat penomboran menggunakan SELECT COUNT().
Untuk meningkatkan prestasi, lebih baik menggunakan SELECT COUNT() bersama-sama dengan keadaan WHERE dalam satu pertanyaan, seperti ini:
<code class="php">$condition = " fname='rinchik' "; $result_count = "SELECT COUNT(*) FROM my_large_table WHERE" . $condition;</code>
Pendekatan ini menghapuskan keperluan untuk pertanyaan SELECT COUNT() tambahan dan menjimatkan masa pemprosesan.
Kesimpulan
Apabila bekerja dengan jadual besar, adalah penting untuk menggunakan SELECT COUNT() atas mysql_num_rows() atas sebab prestasi. Dengan mengoptimumkan pertanyaan, anda boleh meningkatkan kelajuan dan kecekapan keseluruhan skrip PHP anda dengan ketara.
Atas ialah kandungan terperinci PILIH COUNT() atau mysql_num_rows() : Manakah yang Lebih Baik untuk Jadual Besar dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!