2014年9月4日 星期四

Import Data To MySQL Efficiently

使用以下指令產生一百萬筆 user 的假資料

for i in `seq 1 1000000`; do echo "test$i,pass$i,,2014-09-05 03:43:27" >> users.csv; done

使用 mysqlimport 匯入資料
MySQL Host:mysql-demo
Database 名稱:my_database
Table 名稱:users
csv 檔名務必和 Table 名稱一樣。

mysqlimport --fields-terminated-by=, --columns='username,password,pass_details,created_at' --local -h mysql-demo.cxu7skntlvtx.us-east-1.rds.amazonaws.com -u admin -p my_database users.csv

使用這種方式匯入資料比使用一個 Transaction 包一堆 Insert SQL 快上百倍。
但需注意此方式如果匯入錯誤,後果自行承擔!

參考:http://chriseiffel.com/everything-linux/how-to-import-a-large-csv-file-to-mysql/

沒有留言:

張貼留言