MySQL load data infile – acceleration?

if you’re using innodb and bulk loading here are a few tips:

sort your csv file into the primary key order of the target table : remember innodb uses
clustered primary keys so it will load faster if it’s sorted !

typical load data infile i use:

truncate <table>;

set autocommit = 0;

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

commit;

other optimisations you can use to boost load times:

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

split the csv file into smaller chunks

typical import stats i have observed during bulk loads:

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

Leave a Comment