天天看點

mysql快速導入5000萬條資料過程記錄(LOAD DATA INFILE方式)

mysql快速導入5000萬條資料過程記錄(LOAD DATA INFILE方式)

首先将要導入的資料檔案top5000W.txt放入到資料庫資料目錄/var/local/mysql/data/${db_name}/ 下,并確定導入使用者擁有這個txt檔案的權限,否則會報Error 13錯誤

1.${table_name}換myisam,我們的場景對事務沒啥要求,innodb引擎速度太慢了,原來導入12個小時都沒導完

2.導入前修改參數和禁止索引更新

mysql> SET SESSION BULK_INSERT_BUFFER_SIZE=256217728;

mysql> SET SESSION MYISAM_SORT_BUFFER_SIZE=256217728;

mysql> set global KEY_BUFFER_SIZE=256217728;

mysql> alter table ${table_name} disable keys; 

mysql> LOAD DATA INFILE "top5000W.txt" INTO TABLE ${table_name} FIELDS TERMINATED BY ',' LINES TERMINATED BY  '\n' (id,day,app_ids,id_1,id_2,id_3,combine_rate,active_nums,id_size)

3.導入後

mysql> ALTER TABLE ${table_name} ENABLE KEYS; 

耗時統計:

LOAD DATA INFILE... 這步耗時8分鐘左右

ALTER TABLE... 這步耗時12分鐘左右