NYCPHP Meetup

NYPHP.org

[nycphp-talk] Timeouts ... how to get around it?

Joseph Crawford codebowl at gmail.com
Tue Oct 14 02:07:01 EDT 2008


First of all you will want to index your database.  I am guessing the  
query is taking forever due to it not having indexes.

Also I would suggest that you do this

$res = ("SELECT * FROM table WHERE email = ' ". email2chk." ' ";

also I would make sure you have no duplicates in the database by  
setting a UNIQUE on the email column.

Doing these things should speed up the site however note that if you  
check this on every page load it will be resource intensive.

also what is $email2Chk is it a string or your array of emails?

Thanks,
Joseph Crawford

On Oct 14, 2008, at 1:57 AM, mikesz at qualityadvantages.com wrote:

> Hello NYPHP,
>
>  I have an array that has 13000 email addresses. For now, its in the
>  script but will be in a database table eventually. It is a list of
>  known bad guys.
>
>  I have a database table with 9000 records and one of the fields is
>  an email address.
>
>  In PHP I am using a foreach to loop through the array and do a
>  database lookup to try to find any matching emails.
>
>  I am using this query inside the foreach loop:
>
>        $res = ("SELECT * FROM `table` WHERE `email` = '$email2Chk'");
>        $numRows = mysql_num_rows($res);
>        if ( !empty($numRows ))
>
>
>  It processes about 12000  addresses in the array and the script  
> times out.
>
>  Anyone have a better idea for doing this task?
>
>  TIA for any help.
>
> -- 
> Best regards,
> mikesz                          mailto:mikesz at qualityadvantages.com
>
> _______________________________________________
> New York PHP Community Talk Mailing List
> http://lists.nyphp.org/mailman/listinfo/talk
>
> NYPHPCon 2006 Presentations Online
> http://www.nyphpcon.com
>
> Show Your Participation in New York PHP
> http://www.nyphp.org/show_participation.php




More information about the talk mailing list