批量向MySQL导入1000万条数据的优化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量向MySQL导入1000万条数据的优化相关的知识,希望对你有一定的参考价值。

参考技术A 1.用start transaction关闭mysql的自动提交,合理设置插入批量大小,不要一条数据提交一次。
2.修改表的存储引擎InnoDB为MyISAM。(因为InnoDB中存在redo log日志,每次更新表的结果先写入redo log中,等redo log满了之后再写入磁盘而这个过程是会停止其他所有的事务)
3.优化SQL(一条SQL语句插入多条数据)
4.尽量顺序插入(存储引擎底层采用的数据结构是B+tree索引,如果每次插入记录都在索引的最后面,索引的定位效率很高,并且对索引调整较小;如果插入的记录在索引中间,则需要维护B+tree并且索引定位效率会下降,数据量较大时会有频繁的磁盘操作)

以上是关于批量向MySQL导入1000万条数据的优化的主要内容,如果未能解决你的问题,请参考以下文章

mysql写入100条数据要1000ms

mysql优化-数据库优化SQL优化

mysql优化--in或者or选择

PHP PDO 查询,优化超过 1000 万行的速度性能 MS ACCESS 数据库

mysql中怎样对大批量级的数据查询进行优化

大批量数据的插入优化的小细节