星期五, 3月 27, 2015

大檔案的insert SQL 如何拆分成多個檔案

最近的一個需求:
insert into table1 values ('111','222');
insert into table1 values ('112','222');
insert into table1 values ('113','222');
.
.
.
insert.sql 因為太大, 所以需要把大檔案拆分成數個500MB的檔案
在每一行都加上commit; 語法

作法如下:
#500GB 單一大檔, 可以拆成 1024個檔案
split --bytes=500m /path/to/large/500GB_file /path/to/output/file/prefix

for f in /source/test/*; do
  echo "commit;" >> $f
done

for f in /source/test/*; do
  mysql -u root –pxxxxxx < /source/test/$f
  echo `date` >> /source/test/result.log
  echo "$f insert finished" >> /source/test/result.log
done

沒有留言:

LinkWithin-相關文件

Related Posts Plugin for WordPress, Blogger...