导入50GB的mysql转储文件

时间:2018-03-07 15:53:03

标签: mysql database import query-performance

我已经开始在一家每天都有大量数据库的公司工作。 压缩的文件大约是4GB,但我尝试解压缩一次,我们正在谈论超过50GB的文件。

现在,我正在尝试创建一个奴隶,为了做到这一点,我需要导入最新的数据。

我从未试图导入这么大的文件,浏览过,我发现'pv'命令显示了进度条。

我正在运行的命令是:

pv database.sql.gz | gunzip | mysql -u root -p

过程开始,起初看起来相当快,但随后开始减速直到达到[0KB / s]

我试了一次,花了15个多小时。 这是正常的吗?有人可以告诉我是否有更好的方法(或许更快的方式)这样做?

谢谢,

1 个答案:

答案 0 :(得分:0)

加载表格时会变慢。构建索引可能减速。

不要先喷枪;写入和重读50GB文件的I / O将消耗您认为可以获得的任何节省。

压缩比为12:1非常高。听起来你在数据类型中有一些效率低下。典型文本仅压缩3:1。数字(例如,BIGINT通常存储单位数值:4:1)。我们来看看SHOW CREATE TABLE;也许你有CHAR(999)持空字符串?

是转储mysqldump吗?它是否包括禁用和重新启用索引?

您使用的是UUID吗? (它们的索引非常低效。)