在对mysql数据库进行大数据量导入时,我通常是选择source命令进行导入,这样能比较短的时间内导入。但是,如果数据量大到一定量级时,即使是用source命令,效率也并不高。比如此次要导入的数据库文件有100M+,数据量50W+,用source导入需要的时候也是比较长的。
下面提供一个mysql source导入大数据量时效率提升的方法,修改后可以实现百万级数据1分钟内导入(当然这也与很多外部因素有直接关系)。
修改mysql配置文件,找到 innodb_flush_log_at_trx_commit将值修改成0(默认值可能是1),然后重载配置即可,再次尝试导入时,性能飞起。这里便不放innodb_flush_log_at_trx_commit的相关解释与说明了,有兴趣的朋友可以从网上了解一下。
最后附上source命令
# mysql -uroot -p;
mysql>use dbtest;
mysql>set names utf8;
mysql>source /www/sql/back.sql;
Good luck!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)