http://www.perlmonks.org?node_id=579327


in reply to how to speed up querys to mysql

You should prepare the statements before you iterate through the loops and use the ?-notation:

my $statement = 'SELECT a1.ID FROM a1, a1_b1, b1 WHERE b1.id = ? AND a +1 = ?'; my $sth = $dbh->prepare($statement) or die $dbh->errstr(); for my $a1(@array1){ for my $b1 (@array2){ $sth->execute($b1,$a1) or die $dbh->errstr(); # ... other stuff ... } }