Heim > Datenbank > MySQL-Tutorial > Wie kann ich MySQLs ON DUPLICATE KEY UPDATE mit LOAD DATA INFILE simulieren?

Wie kann ich MySQLs ON DUPLICATE KEY UPDATE mit LOAD DATA INFILE simulieren?

Susan Sarandon
Freigeben: 2024-12-06 08:39:11
Original
271 Leute haben es durchsucht

How Can I Simulate MySQL's ON DUPLICATE KEY UPDATE with LOAD DATA INFILE?

Emulation von MySQLs ON DUPLICATE KEY UPDATE mit LOAD DATA INFILE

LOAD DATA INFILE bleibt der vorherrschende Ansatz für den schnellen Import umfangreicher Datensätze in MySQL. Seine Wirksamkeit kann unzureichend sein, wenn versucht wird, Verhaltensweisen analog zu INSERT IGNORE oder REPLACE zu implementieren, da keine Unterstützung für ON DUPLICATE KEY UPDATE vorhanden ist. Dennoch bietet ON DUPLICATE KEY UPDATE Vorteile gegenüber REPLACE, da es Leistungseinbußen im Zusammenhang mit Löschungen und Einfügungen beim Auffinden von Duplikaten vermeidet und Autoinkrementierungs-IDs beibehält.

Um die ON DUPLICATE KEY UPDATE-Funktionalität während LOAD DATA INFILE-Vorgängen zu emulieren, befolgen Sie die folgenden Schritte Diese Schritte:

  1. Erstellen Sie ein Temporäres Tabelle: Erstellen Sie eine temporäre Tabelle mit dem Namen „temporary_table“, die dieselbe Struktur wie die Zieltabelle „target_table“ hat.
  2. Optional: Indizes deaktivieren: Um die Leistung zu optimieren, entfernen Sie Indizes aus der temporäre Tabelle mit Befehlen wie „DROP INDEX“ gegen Indizes „PRIMARY“ und 'some_other_index'.
  3. Daten in temporäre Tabelle laden:Führen Sie den Befehl LOAD DATA INFILE aus, um die CSV-Datei in die temporäre Tabelle zu laden.
  4. Daten kopieren mit ON DUPLICATE KEY UPDATE: Verwenden Sie eine INSERT-Anweisung, die die ON DUPLICATE KEY UPDATE-Klausel enthält, um Daten zu kopieren von der temporären Tabelle zur Zieltabelle, wobei doppelte Schlüsselwerte aktualisiert werden.
  5. Temporäre Tabelle entfernen: Sobald die Datenübertragung abgeschlossen ist, löschen Sie die temporäre Tabelle.

Die Verwendung der Befehle „SHOW INDEX FROM“ und „SHOW COLUMNS FROM“ ermöglicht die Automatisierung dieses Prozesses für jede angegebene Tabelle.

Das obige ist der detaillierte Inhalt vonWie kann ich MySQLs ON DUPLICATE KEY UPDATE mit LOAD DATA INFILE simulieren?. 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