my $max_rows_commit = 0; my $store = $dbh->prepare('INSERT ... '); foreach my $row (@rows){ $store->execute($row); $max_rows_commit++; if ($max_rows_commit >10000){ $dbh->commit; $max_rows_commit = 0; } } $dbh->commit;