一部のデータを MySQL クラスターにロードしようとしています。クラスターには合計 5 つの VM があり、それぞれに 8 GB の RAM があり、すべて CentOS と MySQL Cluster 7.2.5 を実行しています。5 つの VM はすべて同じ物理ブレード上にあるため、それらの間のネットワークのボトルネックは最小限に抑えられます。ここに私のconfig.iniのペーストビンと、別のmy.cnfがあります。リンクは 2 つに制限されているため、テーブル スキーマを貼り付けることはできませんが、基本的にはほとんど int 列といくつかのテキスト列があります。主キーは、1 つの bigint と 1 つの int の複合キーです。
ロードしているデータ ファイルは合計 129 MB で、約 150 行/秒の速度が得られますが、これはひどいものです。これをもっと大規模に行う必要があり、このレートでは読み込みに数日かかる可能性があります。これを劇的に高速化するために調整する必要があるパラメーターはありますか? myisam および innodb の一括読み込み用に調整するパラメーターに関する同様のスレッドを見つけましたが、NDB テーブルについては見たことがありません。
load data infile コマンドは次のとおりです。
LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test
FIELDS TERMINATED BY '|' ESCAPED BY '\\' LINES TERMINATED BY '\n';
まったく同じコマンドを実行して、テーブルのエンジンを innodb に変更すると、1 秒あたり 150 行ではなく、1 秒あたり 20,000 行が読み込まれます。