Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Ladedaten-Infile - Beschleunigung?

Wenn Sie Innodb und Massenladen verwenden, hier ein paar Tipps:

Sortieren Sie Ihre CSV-Datei in die Reihenfolge der Primärschlüssel der Zieltabelle:Denken Sie daran, dass Innodb geclusterte Primärschlüssel verwendet, damit sie schneller geladen werden, wenn sie sortiert sind!

typisches Ladedaten-Infile, das ich verwende:

truncate <table>;

set autocommit = 0;

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

commit;

andere Optimierungen, die Sie verwenden können, um die Ladezeiten zu beschleunigen:

set unique_checks = 0;
set foreign_key_checks = 0;
set sql_log_bin=0;

die CSV-Datei in kleinere Teile aufteilen

Typische Importstatistiken, die ich beim Massenladen beobachtet habe:

3.5 - 6.5 million rows imported per min
210 - 400 million rows per hour