InnoDB ha il supporto per le transazioni, non stai usando transazioni esplicite, quindi innoDB deve eseguire un commit dopo ogni istruzione ("esegue un log flush su disco per ogni inserto" ).
Esegui questo comando prima del tuo ciclo:
START TRANSACTION
e questo dopo aver eseguito il loop
COMMIT