在Ubuntu 18.04上使用版本5.7.31的mysqlimport在mysql中缓慢导入数据

问题描述

在Ubuntu 18.04上使用版本5.7.31的mysqlimport在mysql中缓慢导入数据 我正在从Ensembl加载遗传数据,并按照此处的指示进行操作 https://m.ensembl.org/info/docs/webcode/mirror/install/ensembl-data.html

这是我正在使用的命令

/data/mysql/bin/mysqlimport -u mysqldba --fields-terminated-by='\t' --fields-escaped-by=\\ homo_sapiens_core_100_38 -L allele_synonyms.txt

一些桌子很大。 40GB,90GB和〜300GB。我没想到这会很快,但似乎进展太慢。我可以在一个小时内导入10GB的表,但是这个40GB的表使我丧命。我什至使用切片来制作小块并加载它们,但在20GB时,它似乎变得无限长。就像几天要加载数据一样,那是在加载20GB之后再添加一个5GB块。

我在这里Improve performance of mysql LOAD DATA / mysqlimport?

遵循了类似本文的其他建议

我已关闭了mysql.cnf中的慢查询记录,并尝试了在Stack Overflow上发现的其他建议,例如增加缓冲区。

我的临时文件占用了很大的空间 我专门在txt.file上使用mysqlimport 40GB的文件有800,000,000行,因此它包含许多数据。 我尝试添加--num-threds = 4 该机器具有不错的规格4核和14GB内存

解决方法

我不确定这是否是正确的答案,但这对我有用。我的数据读取率为99.9%,因此我尝试使用MyISAM作为海量表。通过简单地将表更改为InnoDB,就可以了。我对超过25GB的任何表都执行了此操作,并且它起作用了。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...