Zum Inhalt springen

T-SQL: SQL Abfrage parallelisieren


Empfohlene Beiträge

Geschrieben

Hallo,

folgende Situation:

Ich habe eine Xeon CPU mit 4 Kernen und 8 Threads.

Darauf läuft ein SQL Server 2005 Developers Edition der auf 8 Prozessoren konfiguriert ist.

Ich habe 8 SQL-Statements die mir 8 unabhängige Summen aus der gleichen Tabelle berechnen (eine Kennmzahl pro Jahr).

Jedes Statement läuft ca. 10 Minuten.

Ich führe diese 8 Statements derzeit in einer StoredProcedure aus. Der Compiler setzt sie dabei sequentiel hintereinander --> Laufzeit von 80 Minuten, es wird nur EINE der 8 verfügbaren CPUs genutzt (die dafür zu 100% ausgelastet)

Wenn ich die 8 Statements in 8 unabhängige Queries zerteile und händisch zeitgleich starte, dann laufen die 8 Queries parallel auf 8 Prozessoren (alle 8 auf 100%) und die Laufzeit beträgt in Summe ca. 12 Minuten.

Wie bringe ich den SQL Compiler dazu diese 8 Befehle ebenfalls parallel auszuführen ?

Ich verstehe nicht warum der das nicht sowieso von selbst macht :(

Danke im Voraus

Gawan

Geschrieben

Hi,

naja, in der SP wird halt nacheinander abgearbeitet.

Pack das in ein SSIS-Paket, da kannst Du alle 8 "gleichzeitig" ablaufen lassen.

Deine Frage war aber eher, warum ein SQL-Statement nur ein Prozessor verwendet. Kann sein, dass der Server dazu sogar konfiguriert ist:

'max degree of parallelism' ist das Stichwort.

Vorher würde ich aber an den Abfragen selber noch schauen (Ausführungspläne).

hth

Buell

Geschrieben

Ins SSIS hab ichs jetzt auch gelöst.

Das funktioniert mit 8 parallelen jobs auch - allerdings hab ich jetzt auch den gleichen Bedarf für 100 Jobs und die möchte ich nicht als eigenständige SSIS-DataFlows anlegen müssen.

Das muss doch auch irgendwie im T-SQL gehen.

Ich möchte diese Jobs auch nicht vie Scheduler anstoßen, sondern via einer anderen Stored Procedure ... und das geht ja wohl nicht im SSIS :(

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...