大约有三四千万条记录,使用mysqldump导出,在本地导入的时候(使用source xxx.sql的方式),感觉很慢,到某表一条记录可能比较大,才一次insert3000+条,平均用二三十秒。本地的目标数据库的参数innodb_flush_log_at_trx_commit已经设置为2。请问这个导入速度跟导出时候的参数net_buffer_length有关系吗?有什么方法可以提高一下速度,除了使用文件导入load data infile。谢谢!
欢迎选择我的课程,让我们一起见证您的进步~~
导入数据的新表中不要建立索引,导入后再建立,这样导入的速度会快很多。 有一种方法是移动.frm, .MYD, .MYI文件。
.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
msyql -uroot -proot < data.sql
修改了mysql的innodb_buffer_pool_size,内存放大一点(默认8M,肯定不够用,比磁盘每秒IO慢多了),速度好像上来了,不过这速度还是受到磁盘IO的限制,可能日志方面还可以优化。
导入数据的新表中不要建立索引,导入后再建立,这样导入的速度会快很多。
有一种方法是移动
.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
msyql -uroot -proot < data.sql
修改了mysql的innodb_buffer_pool_size,内存放大一点(默认8M,肯定不够用,比磁盘每秒IO慢多了),速度好像上来了,不过这速度还是受到磁盘IO的限制,可能日志方面还可以优化。