O InnoDB tem suporte a transações, você não está usando transações explícitas, então o innoDB precisa fazer um commit após cada instrução ("realiza uma liberação de log para o disco para cada inserção" ).
Execute este comando antes do seu loop:
START TRANSACTION
e isso depois de você fazer um loop
COMMIT