mysql导入速度慢


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

mysql

samshen 9 years, 3 months ago

msyql -uroot -proot < data.sql

NHK牌丸子酱 answered 9 years, 3 months ago

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

Seigaku answered 9 years, 3 months ago

导入数据的新表中不要建立索引,导入后再建立,这样导入的速度会快很多。
有一种方法是移动 .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

北斗有情破颜拳 answered 9 years, 3 months ago

Your Answer