Announcement

Collapse
No announcement yet.

update auf mehrere hundert Millionen Datensätze

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • update auf mehrere hundert Millionen Datensätze

    Hallo,
    ich muss in mehreren Tabellen eine Spalte updaten.
    Das Problem ist das die Tabellen mehrere hundert Millionen Datensätze haben und das update muss so schnell wie Möglich erfolgen.

    Meine Idee wehre, das update so beschleunigen:
    1. Alle Index usw. ausschalten
    2. Transaktionsdatei ausschalten (geht es überhaupt?) so das der DB nichts protokollieren also auf der Festplatte zusätzlich schreiben muss.
    3. vielleicht eine zusätzliche Spalte einlegen und die werte dort schreiben
    4. ……

    Habt Ihr andere Ideen, Tipps, Erfahrungen usw?
    Gibt es für die update Methode irgendwelche beschleunigungs- Möglichkeiten?

    Für jeden Tipp, Rat wurde ich sehr dankbar

    bigpoint

  • #2
    Hast Du das Update schon mal einfach so versucht, wie lange es braucht?
    Schöne Grüße, Mario

    Comment


    • #3
      Solche Datensätze hat man einfach im Testumgebung nicht
      Ne habe ich nicht, ich mache mir aber sorgen, dass die Transaktionsdatei voll läuft.

      Comment


      • #4
        MS SQL-Server - mmhh. Wieviel Ram steht dem dem DB-Server zur verfügung?
        Wie lange darf die DB im Down-Betrieb stehen.

        Index löschen ist ne schlechte Idee. Schon mal überlegt wie lange es u.U. dauert ihn wieder aufzubauen?

        Comment


        • #5
          Originally posted by Bernhard Geyer View Post
          MS SQL-Server - mmhh.
          ?
          Wie soll ich das verstehen??
          Originally posted by Bernhard Geyer View Post
          Wieviel Ram steht dem dem DB-Server zur verfügung?
          4 GB
          Originally posted by Bernhard Geyer View Post
          Wie lange darf die DB im Down-Betrieb stehen.
          Weiss ich noch nicht ganz genau.
          Originally posted by Bernhard Geyer View Post
          Index löschen ist ne schlechte Idee. Schon mal überlegt wie lange es u.U. dauert ihn wieder aufzubauen?
          ja, wenn aber der Index grade auf die Spalte liegt die upgedetet werden muss, dann wird denn update noch länger dauern, oder.


          Hast Du schon Erfahrungen mit so großen Datenmengen/update gemacht?

          Comment


          • #6
            Originally posted by bigpoint View Post
            Wie soll ich das verstehen??
            Der MS-SQL-Server hat bis zur Version 2005 kein Multi-Versions-Konzept. D.h. bis deine aktion abgeschlossen ist (ich denke doch du wirst es in einer Transaktion durchführen) wird keiner mehr irgendwas von der Tabelle lesen können (außer einem Dirty Read

            Originally posted by bigpoint View Post
            4 GB
            Ich denke einen Testrechner mit 4 GB solltest Du doch problemlos hinbekommen. MS SQL-Server + Backup einspielen und Testlauf fahren.

            Originally posted by bigpoint View Post
            Weiss ich noch nicht ganz genau.
            Wird aber wichtig sein ob das überhaupt möglich ist -> Testumgebung aufbauen und Testlauf.


            Originally posted by bigpoint View Post
            ja, wenn aber der Index grade auf die Spalte liegt die upgedetet werden muss, dann wird denn update noch länger dauern, oder.
            Testlauf bringt klarheit. Den Index neu anlegen wird auch nicht gerade in 2 Sekunden geschehen sein.

            Originally posted by bigpoint View Post
            Hast Du schon Erfahrungen mit so großen Datenmengen/update gemacht?
            Ja. Ca. 20 GB Datenbank aktualisiert. Glücklicherweise konnte ich die Datenbank den ganzen Tag für mich haben. Updates/Exports wurden eh meißtens in der Nacht gefahren so das die Einschränkungen minimal waren.

            Comment


            • #7
              Ich habe test’s bereist gefahren.
              Die schnellste Methode ist, Index der auf der update Spalte liegt löschen, update fahren und einschließlich index erstellen allerdings DB auf Recovery Bulk_Logged setzen

              Gruß

              bigpoint

              Comment


              • #8
                Originally posted by bigpoint View Post
                Ich habe test’s bereist gefahren.
                Die schnellste Methode ist, Index der auf der update Spalte liegt löschen, update fahren und einschließlich index erstellen allerdings DB auf Recovery Bulk_Logged setzen
                Na also. Ist doch die beste Methode. Und wenn nun die Dauer klein genug gegenüber der maximalen Downzeit ist hast Du doch eine Lösung.

                Comment

                Working...
                X