Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengeluarkan Sampel Rawak Mudah dari Pangkalan Data MySQL yang Besar dengan Cekap?
Pernyataan Masalah:
Mengekstrak Sampel Rawak Mudah (SRS) daripada pangkalan data MySQL yang besar dengan cekap boleh mencabar menggunakan pendekatan "jelas" (PILIH * DARI jadual ORDER BY RAND() HAD n). Ketidakcekapan kaedah ini berpunca daripada penggunaan RAND() untuk setiap baris dan pengisihan seterusnya, menghasilkan kerumitan O(n lg n) intensif sumber.
Penyelesaian Cekap:
Untuk mengatasi halangan ini, pertimbangkan untuk menggunakan yang lebih cekap pendekatan:
SELECT * FROM table WHERE RAND() <= 0.3
Penyelesaian ini mengatasi kaedah "jelas" kerana keupayaannya menjana nombor rawak untuk setiap baris antara 0 dan 1, kemudian menilai sama ada untuk memaparkan baris tersebut berdasarkan ambang kebarangkalian (0.3 dalam ini kes).
Penjelasan:
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Sampel Rawak Mudah dari Pangkalan Data MySQL yang Besar dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!