Zum Inhalt springen

SQL DML multiple Updates - ein Statement?


Haymaker84

Empfohlene Beiträge

Hi,

ich hab ne Frage, ob SQL meine Bedürfnisse so befriedigen kann, wie ich es mir vorstelle! :D

Ich mache eine Bestandsbereinigung und dazu automatisiert SQL-Update-Statements erzeugt, die von unseren Datenbankern ausgeführt werden.

Nur ist das ganze wg. folgender Problematik ultra-fail-langsam;


UPDATE tabelle SET spalte = 'wert_neu1' where spalte = 'wert_alt1';

UPDATE tabelle SET spalte = 'wert_neu2' where spalte = 'wert_alt2';

...

..

.

Sieht richtig billig aus, nur hat die Tabelle mehrere millionen Zeilen und es sind update-statements im 3-stelligen Anzahlen-Bereich. Für ein Update brauch er mehrere Minuten, das multipliziert sich natürlich. Ich hatte jetzt überlegt, dass es cool wäre, wenn SQL so etwas in der Art könnte;

UPDATE tabelle SET 

spalte = 'wert_neu1' where spalte = 'wert_alt1' OR

spalte = 'wert_neu2' where spalte = 'wert_alt2';

Also, dass er nur 1x über den gesamten Bestand gejagt wird. Gibts sowas?

BTW: is ne 10'er Oracle DB.

Link zu diesem Kommentar
Auf anderen Seiten teilen

warum ein einzelner Update so langsam ist.

Ich führe das auf die schiere Menge der DB-Sätze zurück...

Wird pro Update nur jeweils 1 Row geändert ?

Unterschiedlich - mal gar keine, mal mehrere Tausend.

Liegt auf der zu Updaten Spalte ein Index ?

Leider nicht, die Ecke der Datenbank wird nicht so oft durchwühlt. Die zu ändernden Spalten sind auch normalerweise nicht in Abfragen einbezogen

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