如何加速数据加载到InnoDB(LOAD DATA INFILE)?

Jea*_*uis 7 mysql import innodb load-data-infile

我想加快数据加载速度.

我使用MySQL 5.5,InnoDB并拥有1M行数据(65Mb文件).这需要5分钟.

什么mysql设置和命令会影响InnoDB的LOAD DATA INFILE的速度?

谢谢.

Mor*_*ker 19

我可以推荐这些设置来改善加载时间:

  • innodb_doublewrite = 0
  • innodb_support_xa = 0
  • innodb_buffer_pool_size =(系统内存的50-80%)
  • innodb_log_file_size =(大数 - 256M等)
  • innodb_flush_log_at_trx_commit = 0

除了设置,您可以自己做一些事情:

  • 加载后创建索引(这是使用5.5/InnoDB插件的新优化).
  • 加载前对数据文件进行排序.
  • 拆分数据文件,并行加载.


jsp*_*cal 5

尝试删除索引和触发器。您可以在加载后重新创建它们。还要考虑使用 my-huge.cnf 中的一些高负载设置而不是默认设置。

更多 innodb 性能设置:

http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/