我有一个mysql数据库和一个大小为74 GB的表。我目前正在使用mysql命令将此数据加载到mysql数据库中。它花费了10多个小时仍在运行。有没有一种方法可以将数据并行加载到mysql数据库中。一种方法是将表数据实际拆分为多个文件,然后在这些文件中的每个文件上调用load。但是,它更像是一个黑客。还有stackoverflowers跟随的东西吗?

谢谢。

最佳答案

确保源文件和数据库存储在快速磁盘上并且没有碎片。我已经看到值得更改表的数据库引擎以加快导入速度,然后在导入后将其更改回去。我会尝试使用INNODB和MyISAM引擎,看看是否更快。

删除所有索引,并在完成后将其重新添加。无论如何,您都将不得不对其进行重新优化,并且只执行一次会更快。当您将它们重新添加时,将它们组合为一个alter语句(速度更快)。

将数据导出为方便的批量加载格式。您可以轻松地将10,000或更多行的数据库放入文件的一行。

PHPMyAdmin和MySQL文档具有一些设置,您应使用这些设置来尽可能延迟以加快读取速度。确保没有其他东西正在使用该数据库和/或表。那只会减慢速度。

确保您提供的编码与数据库上的编码匹配。

将文件传输到数据库服务器并从那里导入(不要通过网络从另一台计算机导入)。

如果可以并且正在使用它,请关闭复制。如果可以并且正在使用它,请关闭日志记录。二进制日志将使您必须写入的数据量增加一倍。

关于mysql - 将数据并行上传到mysql数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2978588/

10-10 21:21
查看更多