在对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!

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐