Heim > Datenbank > MySQL-Tutorial > Wie kann ich 120 Millionen Datensätze in einer Datenbanktabelle schnell aktualisieren?

Wie kann ich 120 Millionen Datensätze in einer Datenbanktabelle schnell aktualisieren?

Mary-Kate Olsen
Freigeben: 2025-01-04 17:26:41
Original
853 Leute haben es durchsucht

How Can I Quickly Update 120 Million Records in a Database Table?

Tipps für die schnelle Aktualisierung von 120 Millionen Datensätzen

Leistungsprobleme beim Versuch, eine Tabelle mit 120 Millionen Datensätzen zu aktualisieren, sind eine häufige Herausforderung. Der herkömmliche Ansatz, eine UPDATE-Anweisung zu verwenden, kann unerschwinglich langsam sein und Stunden oder sogar Tage in Anspruch nehmen.

Anstatt eine direkte Aktualisierung zu versuchen, sollten Sie erwägen, eine zweite Tabelle mithilfe einer SELECT-Anweisung zu füllen. Dieser Ansatz bietet erhebliche Leistungsvorteile, wie unten dargestellt:

Einfacher Fall:

  • Für Tabellen ohne Clustered-Index und in Zeiten niedriger DML Aktivität:

    • Ausführen: SELECT *, new_col = 1 INTO clone.BaseTable FROM dbo.BaseTable
    • Indizes, Einschränkungen usw. für die neue Tabelle neu erstellen
    • Alte und neue Tabellen mit ALTER SCHEMA ... TRANSFER wechseln
    • Alte Tabelle löschen

Nicht einfach Fall:

  • Erstellen Sie die BaseTable mit demselben Namen unter einem anderen Schema (clone.BaseTable) neu.
  • Fügen Sie den Clustered-Index, die Identitätsspalten, die berechneten Spalten und die neuen hinzu INT-Spalte
  • Ausschließen Trigger, Fremdschlüsseleinschränkungen, nicht gruppierte Indizes, und Einschränkungen prüfen
  • Einfügung mit einer kleinen Anzahl von Zeilen testen
  • Klontabelle abschneiden und vollständige Einfügung durchführen
  • Alle nicht gruppierten Einschränkungen, Indizes und Trigger neu erstellen
  • Verschieben Sie dbo.BaseTable in ein Backup-Schema und clone.BaseTable in das DBO Schema

Indem Sie direkte Aktualisierungen vermeiden und die Leistungsfähigkeit von SELECT-Anweisungen nutzen, können Sie die Aktualisierungszeit drastisch reduzieren, sodass selbst umfangreiche Tabellen effizient aktualisiert werden können.

Das obige ist der detaillierte Inhalt vonWie kann ich 120 Millionen Datensätze in einer Datenbanktabelle schnell aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage