DELETE FROM archive
WHERE STR_TO_DATE(SUBSTR(created_date, 0, 25), '%a, %d %b %Y %H:%i:%S') <
DATE_SUB(NOW(), INTERVAL 30 DAY);
Puoi quindi rimuovere il codice PHP per il calcolo dell'intervallo di date e lasciare che MySQL lo gestisca per te.
Se hai il controllo sulla struttura del database, sarà molto più efficiente memorizzare la data in un campo DATETIME, piuttosto che chiamare STR_TO_DATE
su ogni riga del database.