どちらかだと思います
- 時間の経過に伴うインデックスの不均衡
- ディスクの断片化
- 内部innodbデータファイルの断片化
analyze table foo
を試すことができます これはロックを必要とせず、数回のインデックスダイブと数秒かかります。
これで問題が解決しない場合は、
を使用できます。mysql> SET PROFILING=1;
mysql> INSERT INTO foo ($testdata);
mysql> show profile for QUERY 1;
そして、ほとんどの時間がどこで費やされているかを確認する必要があります。
どうやら、挿入がPK順に行われると、innodbのパフォーマンスが向上するようですが、これはあなたの場合ですか?