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に処理させることができます。
データベース構造を制御できる場合は、STR_TO_DATE
を呼び出すよりも、DATETIMEフィールドに日付を格納する方がはるかに効率的です。 すべてのデータベース行で。