Heim > Datenbank > MySQL-Tutorial > Wie kann ich eine große Anzahl von Zeilen in SQL Server effizient auswählen?

Wie kann ich eine große Anzahl von Zeilen in SQL Server effizient auswählen?

Patricia Arquette
Freigeben: 2024-12-31 20:29:14
Original
1014 Leute haben es durchsucht

How Can I Efficiently Select a Large Number of Rows in SQL Server?

Auswählen von Zeilen in SQL Server

Die bereitgestellte Abfrage kann nicht mehr als 7374 Zeilen zurückgeben, da sie die Anzahl der Zeilen im System erschöpft. Spaltentabelle. Um diese Einschränkung zu überwinden, besteht ein effizienterer Ansatz darin, kaskadierte CTEs zu verwenden, um eine „Tally Table“ oder „Numbers Table“ zu erstellen.

Hier ist eine optimierte Abfrage mit kaskadierten CTEs:

DECLARE @Range AS INT = 7374

;WITH E1(N) AS( -- 10 ^ 1 = 10 rows
    SELECT 1 FROM(VALUES (1),(1),(1),(1),(1),(1),(1),(1),(1),(1))t(N)
),
E2(N) AS(SELECT 1 FROM E1 a CROSS JOIN E1 b), -- 10 ^ 2 = 100 rows
E4(N) AS(SELECT 1 FROM E2 a CROSS JOIN E2 b), -- 10 ^ 4 = 10,000 rows
E8(N) AS(SELECT 1 FROM E4 a CROSS JOIN E4 b), -- 10 ^ 8 = 10,000,000 rows
CteTally(N) AS(
    SELECT TOP(@Range) ROW_NUMBER() OVER(ORDER BY(SELECT NULL))
    FROM E8
)
SELECT * FROM CteTally
Nach dem Login kopieren

Dieser Ansatz ist unglaublich effizient, da er keine Lesevorgänge generiert und auf eine extrem große Anzahl von Zeilen skaliert. Leistungsvergleiche und weitere Informationen zu Tally Tables finden Sie in den verlinkten Ressourcen in der Antwort.

Das obige ist der detaillierte Inhalt vonWie kann ich eine große Anzahl von Zeilen in SQL Server 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage