如何优化MySQL插入数百万行?

Igo*_*nko 5 mysql optimization insert

我需要在MySQL数据库(InnoDB引擎)中插入数百万行.当桌子有大尺寸的时候我有问题.几乎所有时间都花在插入查询上.也许有人知道如何优化它?

c2h*_*5oh 16

要将大量数据导入InnoDB:

  1. 在MySQL配置中设置

    • innodb_doublewrite = 0
    • innodb_buffer_pool_size = 50%+系统内存
    • innodb_log_file_size = 512M
    • log-bin = 0
    • innodb_support_xa = 0
    • innodb_flush_log_at_trx_commit = 0
  2. 交易开始后立即添加:

    SET FOREIGN_KEY_CHECKS = 0;

    SET UNIQUE_CHECKS = 0;

    SET AUTOCOMMIT = 0;

  3. 在交易结束前设置:

    SET UNIQUE_CHECKS = 1;

    SET FOREIGN_KEY_CHECKS = 1;