Haymaker84 Geschrieben 21. April 2010 Teilen Geschrieben 21. April 2010 Hi, ich hab ne Frage, ob SQL meine Bedürfnisse so befriedigen kann, wie ich es mir vorstelle! 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dbwizard Geschrieben 21. April 2010 Teilen Geschrieben 21. April 2010 Hi, Also, dass er nur 1x über den gesamten Bestand gejagt wird. Gibts sowas? BTW: is ne 10'er Oracle DB. Die Frage wäre vielmehr, warum ein einzelner Update so langsam ist. Wird pro Update nur jeweils 1 Row geändert ? Liegt auf der zu Updaten Spalte ein Index ? Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Haymaker84 Geschrieben 21. April 2010 Autor Teilen Geschrieben 21. April 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dbwizard Geschrieben 21. April 2010 Teilen Geschrieben 21. April 2010 Leider nicht, die Ecke der Datenbank wird nicht so oft durchwühlt. Die zu ändernden Spalten sind auch normalerweise nicht in Abfragen einbezogen Dann würde ein Index auf dies Spalte + Genererieren der Statistiken helfen, denke ich Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.