Ankündigung

Einklappen
Keine Ankündigung bisher.

Update von ca 20000 Datensätzen MySQL

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Update von ca 20000 Datensätzen MySQL

    Hallo zusammen
    Ich bin nicht so der Held was MySQL angeht jedoch müsste ich jeden Tag rund 20000 Einträge von einer CSV in einer DB updaten.

    Jetzt überlege ich grade wich man am besten vorgeht und da tauchen auch gleich fragen auf …
    Kann ich die auf einmal Updaten oder in schleifen immer nur ein paar?
    Wenn mit schleifen wie viele auf einmal sind Ratsam?

    Oder besteht eine andere Möglichkeit die Daten einzufügen und dabei den Bezug des Primärkeys zu behalten?

    Ich dank euch schon mal im voraus!

    MfG da.bert

  • #2
    Ist der komplette aktuelle Bestand in der csv Datei enthalten?
    Wenn ja und keine weiteren Komplikationen durch dieses Vorgehenentstehen csv in neue Tabelle einlesen, dann veraltete Tabelle löschen, neue Tabelle umbennen.
    wenn nein: Wie sieht das csv aus und wie die Tabelle? Nach welchen Kriterien soll das update stattfinden?

    Kommentar


    • #3
      varchar1(10); varchar2(4); text1; text2; text3; text3; text4; text5; int1(11) ; int2(5) ; float1(3);
      Das ganze kommt dann auf runde 9MB
      Es können sich mal nur ein Datensatz ändern oder auch mal alle^^
      Das Problem wird sein das sich alle Felder verändern können so das ich keine festen Bezug in der CSV haben und das Autoinkrement der DB nutzen muss.

      Kommentar


      • #4
        Das verstehe ich jetzt nicht, du hast doch gesagt die Primärkeys sollen beibehalten werden?

        Woran erkennst du denn welche Zeile im CSV zu einem bestimmten MySQL-Eintrag gehört? Willste vielleicht nicht lieber auf die Datenbank verzichten und dein Interface im PHP-Code an CSV-Dateien anpassen? Bei 20.000 Änderungen pro Tag...

        Kommentar


        • #5
          Du kannst auch eine Replikation anstoßen.
          Mysql führt über Änderungen selbst Buch im Binärprotokoll. Anhand dieser Einträge kann ein (älterer) Datenbestand nachgeführt/aktualisiert werden.

          http://dev.mysql.com/doc/refman/5.0/...ation-faq.html
          http://dev.mysql.com/doc/refman/5.0/en/replication.html

          Kommentar

          Lädt...
          X