Ik ben bezig met een eenvoudig mailinglist script en loop tegen het volgende probleem aan.
Tijdens een naar mijn mening eenvoudige SQL query krijg ik een timeout. Nu kan ik natuurlijk met set_time_limit de timeout opschroeven, maar dat is geen oplossing.
Bij de eerste select trek ik er dus 600 email adressen uit, welke ik in een while loop toevoeg aan de queue tabel. Ik haal nu ongeveer 19 inserts per seconde, wat me uitzonderlijk weining lijkt?
Tijdens een naar mijn mening eenvoudige SQL query krijg ik een timeout. Nu kan ik natuurlijk met set_time_limit de timeout opschroeven, maar dat is geen oplossing.
Bij de eerste select trek ik er dus 600 email adressen uit, welke ik in een while loop toevoeg aan de queue tabel. Ik haal nu ongeveer 19 inserts per seconde, wat me uitzonderlijk weining lijkt?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| databaseConnect(); // Haal 600 email adressen op.. $query = "SELECT email FROM subscribers"; $result_subscribers = mysql_query($query) or die(errorShow(mysql_error())); // Mik die 600 email adressen in de queue tabel met wat additionele info rmatie.. while ($row_subscribers = mysql_fetch_array($result_subscribers)) { $query = " INSERT INTO queue (`queueid`,`added`,`mailingid`,`recipient`,`sent`) VALUES (NULL,'".time()."','".$_GET['mailingid']."','".$row_subscribers['email']."','FALSE')"; $result = mysql_query($query) or die(errorShow(mysql_error())); } // Update de mailings tabel dat mailing X in de queue staat.. $query = " UPDATE quandasmailer.mailings SET queued = 'TRUE' WHERE mailingid = '".$_GET['mailingid']."'"; $result = mysql_query($query) or die(errorShow(mysql_error())); header("Location: ?mod=mailings"); |
[ Voor 4% gewijzigd door enveekaa op 09-10-2008 11:31 ]