Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memilih Peratusan Rawak Baris dalam Pelayan SQL dengan Cekap?

Bagaimanakah Saya Boleh Memilih Peratusan Rawak Baris dalam Pelayan SQL dengan Cekap?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-19 08:17:09335semak imbas

How Can I Efficiently Select a Random Percentage of Rows in SQL Server?

Pemilihan Baris Rawak Dipermudahkan dalam Pelayan SQL: Pendekatan Diperkemas

Pengguna SQL Server selalunya perlu memilih sampel rawak baris daripada jadual. Mencari kaedah yang bersih dan cekap untuk ini secara historis menjadi masalah. Artikel ini membentangkan penyelesaian yang dipermudahkan.

Percubaan sebelum ini selalunya melibatkan jadual sementara yang kompleks dan proses berulang. Walaupun fungsi NEWID() menawarkan potensi, memilih peratusan yang tepat terbukti sukar.

Berikut ialah penyelesaian ringkas dan cekap:

<code class="language-sql">SELECT TOP 10 PERCENT * FROM [yourtable] ORDER BY NEWID()</code>

Pertanyaan ini menggunakan ORDER BY NEWID() untuk mengocok baris secara rawak. TOP 10 PERCENT kemudian memilih 10% teratas daripada baris yang dikocok ini.

Untuk jadual yang sangat besar, pendekatan yang dioptimumkan prestasi disyorkan:

<code class="language-sql">SELECT * FROM [yourtable] WHERE [yourPk] IN (SELECT TOP 10 PERCENT [yourPk] FROM [yourtable] ORDER BY NEWID())</code>

Pendekatan ini mula-mula memilih sampel rawak nilai kunci primer menggunakan subkueri. Pertanyaan utama kemudiannya mengambil hanya baris yang sepadan dengan kunci ini. Ini mengurangkan dengan ketara data yang diimbas, meningkatkan prestasi.

Teknik ini menawarkan cara yang mudah dan berkesan untuk melaksanakan pemilihan baris rawak dalam SQL Server, menyelesaikan masalah yang rumit sebelum ini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memilih Peratusan Rawak Baris dalam Pelayan SQL dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn