首页  >  问答  >  正文

mysql导入速度慢

大约有三四千万条记录,使用mysqldump导出,在本地导入的时候(使用source xxx.sql的方式),感觉很慢,到某表一条记录可能比较大,才一次insert3000+条,平均用二三十秒。本地的目标数据库的参数innodb_flush_log_at_trx_commit已经设置为2。请问这个导入速度跟导出时候的参数net_buffer_length有关系吗?有什么方法可以提高一下速度,除了使用文件导入load data infile。谢谢!

天蓬老师天蓬老师2716 天前908

全部回复(3)我来回复

  • PHP中文网

    PHP中文网2017-04-17 13:09:25

    导入数据的新表中不要建立索引,导入后再建立,这样导入的速度会快很多。
    有一种方法是移动.frm, .MYD, .MYI文件。

    这里介绍一个问答和一篇文章给你,文章中有几种方法的测评结果,希望能帮到你。
    MySQL any way to import a huge (32 GB) sql dump faster?
    esting the Fastest Way to Import a Table into MySQL

    回复
    0
  • 怪我咯

    怪我咯2017-04-17 13:09:25

    msyql -uroot -proot < data.sql

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 13:09:25

    修改了mysql的innodb_buffer_pool_size,内存放大一点(默认8M,肯定不够用,比磁盘每秒IO慢多了),速度好像上来了,不过这速度还是受到磁盘IO的限制,可能日志方面还可以优化。

    回复
    0
  • 取消回复