首頁  >  問答  >  主體

mysql导入速度慢

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

天蓬老师天蓬老师2716 天前907

全部回覆(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
  • 取消回覆