是否有任何加速mySQL转储和导入的文档化技术?
这将包括my.cnf设置,使用ramdisks等.
仅查看记录的技术,最好使用基准显示潜在的加速.
获取高性能MySQL的副本.好书.
转储中的扩展插入
转储--tab格式,这样你就可以使用mysqlimport,它比mysql 导入多个线程,每个表一个. 如果可能,请使用其他数据库引擎.导入像innodb这样的重度事务引擎非常慢.插入像MyISAM这样的非事务性引擎要快得多. 查看Maakit工具包中的表比较脚本,看看是否可以更新表而不是转储它们并导入它们.但你可能正在讨论备份/恢复.
http://www.maatkit.org/有一个mk-parallel-dump和mk-parallel-restore
如果您一直希望使用多线程mysqldump,请不要再希望了.此工具并行转储MySQL表.它是一个更聪明的mysqldump,既可以作为mysqldump的包装器(具有合理的默认行为),也可以作为SELECT INTO OUTFILE的包装器.它专为非常大的数据大小的高性能应用而设计,速度非常重要.它利用多个CPU和磁盘来更快地转储数据.
mysqldump中还有各种可能的选项,例如在导入转储时不创建索引 - 而是在完成时将它们包含在内.
如果您要导入InnoDB,那么您可以做的最有效的事情就是放置
innodb_flush_log_at_trx_commit = 2
在你的my.cnf
,暂时导入运行时.1
如果你需要ACID,你可以把它放回去.
我想你的问题还取决于瓶颈在哪里:
如果你的网络是一个瓶颈,你也可以看一下-C
/ --compress
flag mysqldump
.
如果您的计算机内存不足(即开始交换),您应该购买更多内存.
另外,看一下--quick
标志mysqldump
(--disable-keys
如果你使用的是MyIsam).