Zum Inhalt springen

T-SQL: SQL Abfrage parallelisieren


Gawan

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...