我正在尝试将一些数据加载到 MySQL 集群中。该集群共有 5 个 VM,每个 VM 有 8 GB RAM,都运行 CentOS 和 MySQL Cluster 7.2.5。所有 5 个虚拟机都在同一个物理刀片上,因此它们之间的网络瓶颈应该是最小的。这是我的config.ini和另一个my.cnf的 pastebin 。我仅限于两个链接,因此我无法粘贴表架构,但基本上它主要包含 int 列和几个文本列。主键是一个 bigint 和一个 int 上的复合键。
我正在加载的数据文件总共为 129MB,而我的速度大约为 150 行/秒,这简直太糟糕了。我将不得不在更大的范围内执行此操作,并且以这种速度加载可能需要几天时间。我应该调整任何参数以显着加快速度吗?我发现了类似的线程来调整 myisam 和 innodb 批量加载的参数,但没有看到任何关于 NDB 表的信息。
这是加载数据文件中的命令:
LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test
FIELDS TERMINATED BY '|' ESCAPED BY '\\' LINES TERMINATED BY '\n';
当我运行相同的命令但将表的引擎更改为 innodb 时,它每秒加载 20,000 行而不是每秒 150 行。