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);
След това можете да премахнете PHP кода за изчисляване на периода от време и да оставите MySQL да се справи вместо вас.
Ако имате контрол върху структурата на базата данни, ще бъде много по-ефективно да съхранявате датата в поле DATETIME, вместо да извиквате STR_TO_DATE
на всеки ред на базата данни.