Чистка: лучший способ удалить комментарии WooCommerce из таблицы wp_comments

Вопрос или проблема

Я оптимизирую базу данных своего сайта, который использует WooCommerce.

Когда я наткнулся на таблицу wp_comments, я обнаружил, что ее общий объем близок к 100 МБ. Она полностью заполнена статусами заказов WooCommerce за последние несколько лет.

Каков лучший способ уменьшить размер моей базы данных?

Чтобы удалить строки в вашем wp_comments, вы можете использовать оператор SQL следующим образом

DELETE FROM wp_comments WHERE comment_date < '2016-01-01' AND comment_type="order_notes"

Это удалит все комментарии, старше 1 января 2016 года. Я действительно верю, что WooCommerce использует order_notes в качестве comment_type, убедитесь в этом, проверив этот столбец перед выполнением запроса.

Конечно, вам нужно адаптировать FROM wp_comments, чтобы отразить префикс, который вы используете в своей базе данных.

Также сделайте резервную копию вашей базы данных ПЕРЕД выполнением этого оператора, она УДАЛИТ ваши данные!

ИСПРАВЛЕНИЕ

Вот альтернатива запроса

DELETE FROM wp_comments WHERE comment_date < DATE_ADD(NOW(), INTERVAL -365 DAY) AND comment_type="order_notes"

Он выполняет ту же задачу, но оператор SQL будет генерировать сегодняшнюю дату и вычитать 365 дней из нее, удаляя все, что старше 365 дней. Мне с этим проще работать. Вы можете запускать этот запрос каждый месяц, и он всегда будет удалять записи старше 365 дней с момента выполнения.

Ответ или решение

Для оптимизации базы данных сайта, использующего WooCommerce, и уменьшения размера таблицы wp_comments, можно воспользоваться SQL-запросами для удаления комментариев, не относящихся к активным процессам или уже устаревшим. Вот подробная инструкция, как удалить устаревшие комментарии и освободить место в базе данных.

Шаги по удалению комментариев

  1. Резервное копирование базы данных: Прежде чем вносить какие-либо изменения в базу данных, обязательно создайте резервную копию. Это позволит вам восстановить данные в случае ошибки. Вы можете воспользоваться инструментами, такими как phpMyAdmin или плагинами для создания резервных копий, такими как UpdraftPlus или Duplicator.

  2. Проверка структуры таблицы: Прежде чем запускать запросы, желательно убедиться, что в вашей таблице wp_comments действительно содержатся комментарии типа order_notes, которые вы хотели бы удалить. Можно выполнить запрос:

    SELECT DISTINCT comment_type FROM wp_comments;

    Это позволит вам увидеть все различные типы комментариев.

  3. Удаление устаревших комментариев:
    Если вы хотите удалить комментарии более ранних дат, например, старше 2016 года, используйте следующий SQL-запрос:

    DELETE FROM wp_comments WHERE comment_date < '2016-01-01' AND comment_type = 'order_note';

    Либо, если вы хотите удалять комментарии на основе более актуальной даты, например, удалять комментарии старше 365 дней от текущей даты, вы можете использовать следующий запрос:

    DELETE FROM wp_comments WHERE comment_date < DATE_ADD(NOW(), INTERVAL -365 DAY) AND comment_type = 'order_note';
  4. Проверка результатов: После выполнения запроса рекомендуется проверить количество оставшихся комментариев и размер таблицы, чтобы убедиться, что запрос сработал корректно. Вы можете использовать запрос:

    SELECT COUNT(*) FROM wp_comments;
  5. Оптимизация таблицы: После удаления больших объемов данных желательно оптимизировать таблицу для освобождения места:

    OPTIMIZE TABLE wp_comments;

Заключение

Эти шаги помогут вам эффективно очистить таблицу wp_comments и уменьшить размер базы данных. Также рекомендуется периодически выполнять очистку базы данных, чтобы поддерживать ее в оптимальном состоянии. Помните о важности резервного копирования перед удалением данных.

Оцените материал
Добавить комментарий

Капча загружается...