Очистка таблиц MySQL

83
13 июня 2021, 01:30

Имеется БД сайта на Битриксе на хостинге, сильно раздулась одна из таблиц, более 1 000 000 записей. Необходимо удалить все записи, кроме созданных за последнюю неделю. Какие имеются варианты? Желательно посредством PHP, чтобы подключить на cron.

Answer 1
CREATE EVENT delete_from_tablename_older_1week
ON SHEDULE 
    EVERY 1 DAY
    STARTS '2019-08-22'
DO
    DELETE 
    FROM tablename 
    WHERE creation_date < CURRENT_DATE - INTERVAL 1 WEEK;

Ну и не забыть включить планировщик - как в текущем сеансе:

SET GLOBAL event_scheduler = ON;

так и в конфигурационном файле - для будущих рестартов. RTFM Event Scheduler Configuration.

READ ALSO
Помощь в верстке таблицы highcharts

Помощь в верстке таблицы highcharts

Есть страница esportsplayerru

124
Редирект на null после отправки формы

Редирект на null после отправки формы

Отправляю форму[![введите сюда описание изображения][1]][1]

102
Коллекции объектов

Коллекции объектов

Предисловие/вода

118