状況を整理させてください。適度な幅の MyISAM テーブルに適度な数の行 (1 日あたり約 10 ~ 20M) を挿入しようとしています。
+--------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| blah1 | varchar(255) | NO | PRI | | |
| blah2 | varchar(255) | NO | PRI | | |
| blah3 | varchar(5) | NO | PRI | | |
| blah4 | varchar(5) | NO | PRI | | |
| blah5 | varchar(2) | NO | PRI | | |
| blah6 | varchar(2) | NO | PRI | | |
| blah7 | date | NO | PRI | | |
| blah8 | smallint(6) | NO | PRI | | |
| blah9 | varchar(255) | NO | PRI | | |
| blah10 | bigint(20) | YES | | NULL | |
+--------------+--------------+------+-----+---------+-------+
その途方もない主キー以外の唯一のインデックスは、blah7、日付フィールドにあります。私たちは LOAD DATA INFILE を使用していますが、データのロードに約 2 時間かかるという、非常にひどいパフォーマンスだと思います。私は、LOAD DATA INFILE がそれより桁違いに速いと信じるようになりました。
興味深いことに、データをバッチ処理するために LOAD DATA INFILE も使用する脂肪の少ないテーブル (5 ~ 6 フィールド) があり、それらのテーブルのパフォーマンスが大幅に向上しています。レコードの数がかなり少ないため、大きなテーブルをロードするときにバッファ サイズの制限に達していて、ディスクに移動する必要があると思います (実際、ディスクに移動する以外に何が必要でしょうか)。そのような遅いロード時間を説明しますか?)。
...それが私の質問につながります。LOAD DATA INFILE コマンドを処理する際に最も重要な my.cnf 設定は何ですか?