MySQL Forums
Forum List  »  Perl

Re: perl script performs poorly - please advise
Posted by: nino walker
Date: April 07, 2009 02:18PM

I've narrowed it down to this section of code that seems to cause the longest delay.



###########################################################################################
# Remove Dups from the never table.
###########################################################################################

my $dead_addr = $dbh->prepare("SELECT count( email ) AS occur, email FROM `never2` GROUP BY email ORDER BY occur DESC");
$dead_addr -> execute();
my $addr;
my $trim_sql;
my $restore_sql;

while (my $bad_rec = $dead_addr->fetchrow_hashref()){
if ($bad_rec->{'occur'} > 1 )
{
$addr = $bad_rec->{'email'};
$trim_sql = $dbh->do("delete from never2 where email = '$addr'");

$restore_sql = $dbh->do("insert into never2 values('$addr' )");

}
}

$dead_addr->finish();

###########################################################################################
# code to pull all the people who don't wish to be mailed again from the list.
###########################################################################################
my $never_sql = $dbh->prepare("select * from never2");
$never_sql->execute();
while (my $never_email = $never_sql->fetchrow_hashref()){
my $update_sql = "update mailers set sent = 'y' where email = '" . $never_email->{'email'} . "'";
my $c_sql = $dbh->do($update_sql);
}

Options: ReplyQuote


Subject
Written By
Posted
Re: perl script performs poorly - please advise
April 07, 2009 02:18PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.