Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie beschleunigt man den Datenimport in MySQL InnoDB und beendet langsame Abfragen?

Linda Hamilton
Freigeben: 2024-11-08 11:15:02
Original
515 Leute haben es durchsucht

How to Speed Up Data Import into MySQL InnoDB and Terminate Slow Queries?

Optimierung für blitzschnellen Datenimport mit MySQL

Abfrage:

Beim Import umfangreicher Daten Daten (ungefähr 3,6 Millionen Zeilen) mithilfe von „Daten in Datei laden“ in eine MySQL-InnoDB-Tabelle importieren, wie kann der Prozess beschleunigt werden? Wie kann außerdem eine langsame Abfrage beendet werden, ohne den MySQL-Dienst zu unterbrechen?

Lösung:

Beschleunigung des Datenimports:

Um den Datenimportprozess bei Verwendung von Innodb zu optimieren:

  • Sortieren Sie die Eingabedatei: Ordnen Sie die CSV-Datei in aufsteigender Reihenfolge basierend auf dem Primärschlüssel der Zieltabelle an. Die geclusterte Primärschlüsselstruktur von Innodb erhöht die Ladegeschwindigkeit beim Sortieren von Daten erheblich.
  • Optimiertes Ladeskript: Verwenden Sie das folgende Skript für einen optimalen Datenimport:
truncate <table>;

set autocommit = 0;

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

commit;
Nach dem Login kopieren
  • Tabellenoptimierungen: Verbessern Sie die Ladezeiten weiter, indem Sie diese Tabelleneinstellungen anpassen:
set unique_checks = 0;
set foreign_key_checks = 0;
set sql_log_bin=0;
Nach dem Login kopieren
  • Datenaufteilung: Teilen Sie die CSV Datei in kleinere Teile aufteilen, um die Importgeschwindigkeit zu verbessern.

Langsame Abfragebeendigung:

So beenden Sie eine langsame Abfrage, ohne MySQL neu zu starten:

  • Identifizieren Sie die Thread-ID der Abfrage mit:
SHOW PROCESSLIST;
Nach dem Login kopieren
  • Beenden Sie die Abfrage mit:
KILL <thread_ID>;
Nach dem Login kopieren

Leistungsstatistik:

Basierend auf der beobachteten Massenladeleistung:

  • Importrate: 3,5 - 6,5 Millionen Zeilen pro Minute
  • Stündliches Importvolumen: 210 - 400 Millionen Zeilen

Das obige ist der detaillierte Inhalt vonWie beschleunigt man den Datenimport in MySQL InnoDB und beendet langsame Abfragen?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!