Heim  >  Artikel  >  Datenbank  >  Wie optimiert man die MySQL-Ladedaten-Infile für schnellere Importe?

Wie optimiert man die MySQL-Ladedaten-Infile für schnellere Importe?

Linda Hamilton
Linda HamiltonOriginal
2024-11-07 17:34:03645Durchsuche

How to Optimize MySQL Load Data Infile for Faster Imports?

MySQL-Ladedaten-Infile für beschleunigten Import optimieren

Beim Importieren großer Datensätze in MySQL mit „Load Data Infile“ stoßen Benutzer häufig auf Leistungsengpässe . In diesem Artikel werden Möglichkeiten zur Beschleunigung des Importvorgangs untersucht, insbesondere für große InnoDB-Tabellen mit mehreren Schlüsseln.

Import beschleunigen

Um die Importgeschwindigkeit zu optimieren, beachten Sie Folgendes:

  1. Primärschlüsselreihenfolge: Sortieren Sie die CSV-Datei in derselben Reihenfolge wie der Primärschlüssel der Zieltabelle. Dies optimiert den Importprozess durch Nutzung der geclusterten Primärschlüssel von InnoDB.
  2. Trunkierung und Autocommit: Kürzen Sie die Tabelle vor dem Laden von Daten und deaktivieren Sie Autocommit, um die Leistung zu verbessern.
  3. Optimierung der Datenbankeinstellungen: Deaktivieren Sie vorübergehend eindeutige Prüfungen, Fremdschlüsselprüfungen und Binärprotokollierung, um den Overhead zu reduzieren.
  4. Chunked Loading: Teilen Sie die CSV-Datei in kleinere Blöcke auf, um den Speicherbedarf zu minimieren Reduzieren Sie Sperrkonflikte.

Beispiel für eine optimierte Importsyntax:

truncate <table>;

set autocommit = 0;

load data infile <path> into table <table>...

commit;

set autocommit = 1;
set unique_checks = 1;
set foreign_key_checks = 1;
set sql_log_bin=1;

Abfragebeendigung ohne Neustart

Zu Um eine langsam laufende Abfrage zu beenden, ohne MySQL neu zu starten, verwenden Sie den folgenden Befehl:

kill <process_id>;

Dieser Befehl beendet den angegebenen Prozess anhand seiner Prozess-ID, die über den Befehl show Processlist abgerufen werden kann.

Das obige ist der detaillierte Inhalt vonWie optimiert man die MySQL-Ladedaten-Infile für schnellere Importe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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