0120-33-9096
03-5717-5033 (携帯電話用)
【電話受付時間】
平日 9:00-11:45、13:00-17:00
USA/Canada - Toll Free: +1-866-221-0634
USA - From abroad: +1-208-327-6494
USA/Canada - Subscription Renewals: +1-866-221-0634
UK: +44 845 399 1124
Ireland: +353 1 6919191
Germany: +49 89 420 95 98 95
France: +33 1 70 61 48 95
Sweden: +46 730 207 871
Benelux: +31 6 25003558
Italy: +39 06-99268193
Israel: +31 6 25003558
Spain & Portugal: + 34 933905461
Other EMEA countries: +353 1 6919191
Australia/NZ: +61 2 42314328
Asia Pacific: +81 3 5843 1141
Newsletters older than 6 months may have links that are out of date. Please use the Search to check for updated links.
The loading of large data sets in InnoDB table may be complex. Here are some hints how to maximize performance, when using the LOAD DATA INFILE with InnoDB tables.
1) Use the largest buffer pool possible for the load operation (assuming it is the only operation going at the time) some 80-90% of system memory could be good value. Basically this is almost only buffer you need for this operation.
2) If you have your primary key entries going in "random" order can drop performance a lot. This can be fixed by adding ORDER BY <primary_key> for SELECT * INTO OUTFILE. This will increase dumping time of course.
3) Make sure to disable UNIQUE key checks if you're sure they are satisfied. This is done by SET UNIQUE_CHECKS=0 before starting the load.
A few notes about progress monitoring. For InnoDB tables you can deliver a lot of information from SHOW INNODB STATUS.
Take a look at "inserts/sec" value, a while after load stated (it can be exceptionally high until buffer pool is filled). This is the load speed you can expect
Take a look at transactions list. It has such data as "undo entries". This is basically amount of rows already proceed. Knowing this value and total value of rows to be inserted you can estimate progress as well as completion time.

