Es hört sich so an, als wäre es entweder
- Index-Ungleichgewicht im Laufe der Zeit
- Festplattenfragmentierung
- Interne Innodb-Datendatei(en)-Fragmentierung
Sie könnten analyze table foo
versuchen die keine Sperren braucht, nur ein paar Index-Tauchgänge und ein paar Sekunden dauert.
Wenn dies das Problem nicht behebt, können Sie
verwendenmysql> SET PROFILING=1;
mysql> INSERT INTO foo ($testdata);
mysql> show profile for QUERY 1;
und Sie sollten sehen, wo die meiste Zeit verbracht wird.
Anscheinend funktioniert innodb besser, wenn Einfügungen in PK-Reihenfolge erfolgen, ist dies Ihr Fall?