Heim > Datenbank > MySQL-Tutorial > Wie kann ich zufällige Zeilen aus einer SQL Server-Tabelle effizient auswählen?

Wie kann ich zufällige Zeilen aus einer SQL Server-Tabelle effizient auswählen?

DDD
Freigeben: 2025-01-19 08:12:15
Original
265 Leute haben es durchsucht

How Can I Efficiently Select Random Rows from a SQL Server Table?

Ein optimierter Ansatz zur zufälligen Zeilenauswahl in SQL Server

Das Extrahieren einer zufälligen Teilmenge von Zeilen aus einer großen SQL Server-Tabelle kann rechenintensiv sein. Anstatt komplizierte temporäre Tabellen und iterative Prozesse zu verwenden, nutzt eine effizientere und unkompliziertere Methode die inhärenten Funktionen von SQL Server.

Die Funktion NEWID() generiert eine eindeutige zufällige GUID, die eine Grundlage für die zufällige Zeilenauswahl bietet. Um eine 10 %-Zufallsstichprobe aus einer Tabelle mit dem Namen [yourtable] abzurufen, verwenden Sie diese prägnante Abfrage:

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

Bei deutlich größeren Tabellen wird eine Leistungsoptimierung mit dieser Technik erreicht:

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

Dieser Ansatz nutzt einen Schlüsselscan, um Primärschlüsselwerte für die ausgewählten Zeilen zu ermitteln, und verknüpft sie anschließend mit der Originaltabelle, um die vollständigen Zeilendaten abzurufen. Dieser Join-Vorgang verursacht im Allgemeinen nur minimalen Overhead, insbesondere bei kleinen prozentualen Auswahlen bei großen Datensätzen.

Diese optimierten Techniken bieten Entwicklern eine äußerst effiziente Möglichkeit, Zufallsstichproben aus SQL Server-Tabellen auszuwählen und so komplexe und ressourcenintensive Alternativen zu vermeiden.

Das obige ist der detaillierte Inhalt vonWie kann ich zufällige Zeilen aus einer SQL Server-Tabelle effizient auswählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage