Технология

Как очистить таблицы wp_commentmeta и wp_postmeta?

Как очистить таблицы wp_commentmeta и wp_postmeta?

Если вы используете WordPress и некоторое время ведете блог, скорее всего, ваши таблицы wp_commentmeta и wp_postmeta огромны и значительно больше, чем реальные таблицы wp_comments и wp_posts. Да, не имеет смысла, что метаданные, связанные с комментариями и публикациями (фактический контент), намного больше, чем сам контент. В этом посте я покажу, как очистить таблицы wp_commentmeta и wp_postmeta, чтобы значительно уменьшить размер вашей базы данных WordPress, что я недавно узнал. [ Читать: 5 ошибок в блогах, которые я сделал, когда начал этот блог ].

Проблема с wp_commentmeta и wp_postmeta

Посмотрите на этот пример. В одном из блогов, который регулярно оптимизировался с помощью WP-Optimize, но никогда не очищался вручную, ниже приведены размеры таблиц комментариев и сообщений:

  • wp_comments – 800 строк и 390,8 КиБ
  • wp_commentmeta – 5 387 строк и 6,0 МиБ
  • wp_posts – 1300 строк и 3,7 МиБ
  • wp_postmeta – 11 947 строк и 3,5 Mib

Почему таблицы метаданных комментариев и сообщений больше, чем сами комментарии и сообщения? Это связано с тем, что таблицы wp_commentmeta и wp_postmeta могут быть быстро заполнены ненужными или устаревшими данными, такими как валидации Akismet и метаданные удаленных постов и ревизий. Итак, давайте посмотрим, как быстро очистить wp_commentmeta и wp_postmeta и оптимизировать их для очистки базы данных.

Меры предосторожности – Резервные таблицы

Поймите, что мы напрямую связываемся с базой данных WordPress, и ошибки могут сделать ваш сайт недоступным. Поэтому всегда лучше сделать резервную копию вашей базы данных. Я собираюсь показать, как легко это сделать из phpMyAdmin. [ Читать: Автоматическое резервное копирование базы данных MySQL на хостинге GoDaddy ].

Войдите в свой интерфейс phpMyAdmin и щелкните мета-таблицу wp_comments. Затем, как показано на рисунке ниже, в разделе «Операции-> Копировать таблицу в» введите имя для резервной копии таблицы. В этом случае я выбрал wp_commentmeta_bk. Затем нажмите «Перейти».

Как очистить таблицы wp_commentmeta и wp_postmeta?

WordPress wp_commentmeta Резервное копирование таблиц

Теперь у вас должна быть новая таблица с именем wp_commentmeta_bk. Повторите те же настройки для таблицы wp_postmeta. Вы можете ввести «wp_postmeta_bk» в качестве имени для резервного копирования или выбрать собственное имя. Кроме того, вы можете экспортировать всю базу данных в виде файла и сохранить его на своем компьютере.

Очистить таблицы wp_commentmeta и wp_postmeta

Очистка wp_commentmeta

Сначала давайте очистим таблицу wp_commentmeta. Как показано на рисунке ниже, нажмите на название вашей базы данных слева и перейдите на вкладку SQL.

Как очистить таблицы wp_commentmeta и wp_postmeta?

SQL-запрос для очистки wp_commentmeta

В текстовом поле и как показано выше введите SQL-запрос, приведенный ниже. Убедитесь, что точка с запятой выбрана в качестве разделителя, и нажмите «Перейти».

SELECT * FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments ); DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments ); SELECT * FROM wp_commentmeta WHERE meta_key LIKE '%akismet%'; DELETE FROM wp_commentmeta WHERE meta_key LIKE '%akismet%';

Есть 4 отдельных запроса SQL, которые выполняются последовательно. Сначала мы выбираем данные комментариев для несуществующих комментариев (спам или удаленные комментарии), а затем удаляем их. Затем мы выбираем данные комментариев, которые являются проверками Akismet, а затем удаляем их. При успешном выполнении вы должны увидеть «Ваш SQL-запрос был успешно выполнен». Вы также должны увидеть, сколько строк было затронуто.

Рекомендуемые руководства:

Очистка таблицы wp_postmeta

Чтобы очистить таблицу wp_postmeta, снова щелкните по имени базы данных слева и перейдите на вкладку SQL. Введите следующий SQL-запрос в текстовое поле, убедитесь, что точка с запятой отображается в качестве разделителя, и нажмите «Перейти».

SELECT * FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL; DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL;

Здесь мы также сначала выбираем данные постметы для постов, которые больше не существуют, а затем удаляем их. После выполнения вы должны увидеть сообщение об успешном выполнении и количество затронутых строк.

Оптимизировать таблицы wp_commentmeta и wp_postmeta

Мы очистили мета-таблицы wp_commentmeta и wp_post, но не совсем. Чистые строки будут находиться в таблице как «накладные расходы». Вам придется оптимизировать таблицу, чтобы избавиться от них. К счастью, phpMyAdmin позволяет очень легко выполнять задачи MySQL. [ Read: 10 простых PHPMYADMIN твики для упрощения администрирования MySQL ].

Чтобы оптимизировать таблицу wp_commentmeta, щелкните по названию таблицы слева и перейдите на вкладку «Операции». В разделе «Обслуживание таблиц» нажмите «Оптимизировать таблицу». Повторите шаги для оптимизации таблицы wp_postmeta. Кроме того, вы можете проверить все таблицы и в раскрывающемся меню «С выбранными» выбрать «Оптимизировать таблицу». Теперь вернитесь к представлению структуры базы данных в phpMyAdmin и сравните количество строк и размер таблиц wp_commentmeta и wp_postmeta.

Как очистить таблицы wp_commentmeta и wp_postmeta?

Таблицы WordPress wp_commentmeta и wp_postmeta после очистки

Обратите внимание, что таблица wp_commentmeta уменьшилась с 6,0 МБ до 55,8 КБ (5 387 строк до 592 строк). Это большое сокращение / экономия. Wp_postmeta также показал уменьшение размера. После тщательного тестирования и проверки того, что вы не сломали свою базу данных и не потеряли какие-либо данные, вы можете удалить созданные вами резервные копии таблиц wp_commentmeta и wp_postmeta.

На форуме WordPress есть несколько постов, в которых спрашивается, как очистить wp_commentmeta и wp_postmeta, и, надеюсь, этот пост поможет другим, у кого возникли проблемы. Итак, вы можете оптимизировать таблицы wp_commentmeta и wp_postmeta и очистить базу данных, чтобы улучшить производительность WordPress.

Источник записи: https://www.smarthomebeginner.com

Похожие записи
Технология

Как автоматически изменить размер AdSense в зависимости от размера окна браузера?

Технология

Полное руководство по настройке Pi Hole: лучший интернет без рекламы за 15 минут

Технология

Переместите UniFi Controller на новый хост без потери настроек

Технология

Как запустить PiHole в Docker на Ubuntu, без обратного прокси-сервера?

Sign up for our Newsletter and
stay informed
[mc4wp_form id="14"]

Политика конфиденциальности

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

Принять