Ciao a tutti, ho una pagina ASP per l'invio di una newsletter che in un loop apre diversi recordset in lettura/scrittura, tutti verso lo stesso database MSSQL2005. La pagina non è lentissima, anzi, ma dovrebbe essere molto più veloce, dato che attualmente per mandare 10.000 email lo script ci mette diversi minuti...
in poche parole ecco com'è strutturata:
1. Apro un recordset per leggere dei destinatari di posta (devo farlo per capire se poi mandare email in formato html, txt o non mandarla per nulla se non più sottoscritti alla mailing list)
Inizio Loop
2. Controllo i valori del destinatario
3. Faccio una serie di replace nel corpo dell'email (per inserire personalizzazioni in ogni email)
4. Conto il numero crescende del destinatario (i=i+1) questo so che rallenta molto il mio loop, ma mi serve per aggiungere del tempo di delay ogni tot email inviate in modo da non sovraccaricare il server di posta SMTP
5. Invio l'email (con aspemail)
6. LOG: Apro e chiudo un recordset per scrivere su una tabella che l'email X è stata inviata all'utente Y in tale ora e tale data
Fine Loop
Tutto quel che rallenta la pagina secondo me è sono il punto 3 (ma non posso fare altrimenti) ed il punto 6, ma sinceramente non so come metterlo, avevo anche pensato che forse su MS SQL 2005 c'è modo di fare un INSERT con un delay, ovvero mettere l'operazione in una coda che va poi eseguita dal server SQL in un secondo momento... Ma forse sono solo fantasie...
magari qualcuno sa illuminarmi...![]()

Rispondi quotando
