База данных WordPress занимает слишком много места за счет таблицы wp_commentmeta? Исправляем

Недавно обнаружил, просматривая с помощью плагина WP-Optimize, который оптимизирует базу данных WordPress, интересную картину — при небольшом количестве сообщений, комментариев, рубрик и меток таблица wp_commentmeta стала слишком большого размера по сравнению с другими таблицами.

База данных WordPress

Эта таблица сильно увеличивается за счет спама, который мне приходит на этот сайт по нескольку десятков комментов в сутки. Как с ним бороться — это тема другого поста, в этом я расскажу как же почистить базу. Потому что иметь на блоге такую большую базу ни к чему. Допустим, что у вас на хостинге выделено под блог всего несколько мб памяти. При слишком большом размере базы лимит исчерпается и блог будет отключен.

Решение, я вам скажу, было найти не просто, даже на русскоязычном форуме поддержки не нашел ответа. Зато нашел на английском (http://wordpress.org/support/topic/akismet-update-caused-huge-database-size-growth/page/2?replies=39#post-1942012).

Итак, заходим в базу данных, например через phpmyadmin и выполняем такой SQL запрос:

DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments)

Затем с помощью плагина WP-Optimize или подобного оптимизирую базу.

Проблема решена. И проверьте свои блоги.