首頁 >資料庫 >mysql教程 >如何從 SQL Server 表中有效率地隨機選擇行樣本?

如何從 SQL Server 表中有效率地隨機選擇行樣本?

Patricia Arquette
Patricia Arquette原創
2025-01-19 07:56:09387瀏覽

How to Efficiently Select a Random Sample of Rows from a SQL Server Table?

從 SQL Server 表中選擇隨機行:實用指南

本指南解決了從大型 SQL Server 表中檢索隨機行樣本的常見挑戰。 我們將探索有效的方法來完成這項任務。

挑戰:

處理大量資料集通常需要提取具有代表性的隨機行子集進行分析或測試。 找到一種快速可靠的方法來做到這一點是關鍵。

有效的解決方案:

NEWID() 函數提供了一種選擇隨機行的簡單方法。 以下查詢有效檢索 10% 的行:

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

規模最佳化:

對於非常大的表,以下最佳化查詢可提供卓越的效能,特別是在選擇較小百分比時:

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

此方法利用主鍵掃描和聯接,在處理大量資料集和較小樣本量時,與更簡單的 TOP 方法相比,效率更高。 請記得將 [yourtable][yourPk] 替換為您的實際表名稱和主鍵名稱。

以上是如何從 SQL Server 表中有效率地隨機選擇行樣本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn