Мой FTP-провайдер (fasthosts) разрешает максимальное использование только 150 МБ для каждой созданной базы данных. Этого достаточно для большинства личных целей. Однако на днях, после того, как я вошел в панель управления, я заметил, что база данных, которую я использую для создания своего блога (этот сайт), уже занимает до 23% процентов использования. Хотя у меня не так много постов.
Это определенно потенциальная проблема. Я не хочу платить за обновление пространства, когда оно достигает 150 МБ так скоро. Ниже приведен быстрый способ сократить использование базы данных сайтом WordPress. В моем случае он сократился до 3% после следующих шагов.
1 Удалить ревизии
Для большинства WordPress-сайтов функция «ревизии» для постов совершенно бесполезна. Редакция — это «моментальный снимок» поста, чтобы вы могли восстановить его в любой момент, когда допустили ошибку. Ревизия обязательно растет, если у вас много постов и они просто занимают место.
Убедитесь, что вы сначала сделали резервную копию своей базы данных и выполнили следующий SQL (например, с помощью PHPAdmin).
DELETE FROM wp_posts WHERE post_type = "revision";
2 Отключить ревизии
Чтобы избежать хлопот в будущем, если вы никогда не используете функцию «после ревизии», вы можете просто отключить ее, добавив следующую строку в wp_config.php в папке установки WordPress после следующей строки.
define('DB_COLLATE', '');
// add this.
define('WP_POST_REVISIONS', false);
3 Удалять спам-комментарии (а также неодобренные)
В моем случае таблица wp_comments занимает больше места, чем wp_posts. Это просто потому, что многие спам-пауки будут оставлять комментарии на вашем сайте, и в моем случае они будут захвачены как спам-комментарии без уведомления вас. День за днем ваша база данных будет расти.
Используйте следующую команду SQL, чтобы удалить все комментарии, кроме «одобренных». Обязательно сначала просмотрите все «неодобренные» комментарии.
delete from `wp_acmcomments` where `comment_approved` <> 1
Измените оператор where, если вы хотите удалить только спам-комментарии.
Вы можете поместить вышеуказанные решения в crontab, который выполняется регулярно, например, ежедневно. И вам предлагается выполнить оптимизацию таблицы после очистки соответствующей таблицы.