合理地 load data into mysql
把千万级甚至亿级的数据写入mysql,实在是一件很让人头痛的事情。
load data local infile貌似是最快的方法了, 可是load一个亿级的文件,仍然需要数十分钟。
如果有主从结构的话,在主服务器上面load数十分钟,文件数据会写入binary log,再传输到从服务器,
然后从服务器也需要数十分钟来做load操作,如果从服务器只有一个sql_thread来执行binary
log,那么在这数十分钟内,
从服务器就只能做这一个load操作,无法对后续的sql语句做出响应,导致主从之间的延迟有数十分钟。
而且,如果load了20分钟,然后发现数据源有问题,需要取消load,那么mysql至少还要20分钟才能回滚成功…
这个时候非常无奈。
所以有必要把这种大文件拆分成若干个小文件,然后分别load.
…
[获取更多]