Очистка и оптимизация базы данных

Очистка и оптимизация базы данных WordPress
Если вы давно не чистили базу данных, то в ней накопилось много неиспользуемых записей, которые увеличивают ее размер и замедляют веб-сайт.

В данной статье вы узнаете, как очистить и оптимизировать базу данных при помощи SQL запросов в приложении phpMyAdmin на веб-хостинге, и как очистить и оптимизировать базу данных при помощи плагинов.

Перед началом работы сделайте бэкап. Если что-то пойдет не так, вы сможете без проблем восстановить базу данных из бэкапа.

  • Как работает База данных
  • Бэкап WordPress

В данной статье мы рассмотрим:

Как делать SQL запросы к базе данных

Запросы

  • Удаление данных от удаленных плагинов и записей
  • Удаление спам комментариев
  • Удаление комментариев, ожидающих проверки
  • Удаление неиспользуемых тегов
  • Удаление Trackback и Pingback
    • Trackback
    • Pingback
  • Удаление ревизий записей
  • Удаление шорткодов плагинов и тем
  • Удаление записей старше Х дней
  • Удаление иных комментариев

Оптимизация базы данныхБаза данных свежей установки WordPress 4.9.8 для сравненияПлагины WordPress для оптимизации базы данных

  • WP Sweep
  • WP Optimize
  • Advanced Database Cleaner
  • Advanced Database Cleaner Pro

Описание некоторых терминов, которые используются БД

Удалите неиспользуемые плагины. Удалите все плагины, которые вы не используете. Остатки от удаленных плагинов — один из источников мусора.

Как делать SQL запросы к базе данных

Для администрирования БД обычно используется приложение phpMyAdmin, которое находится в веб-хостинг панели. Найдите «База данных», «Database», «MySQL» или что-нибудь подобное. Откройте нужную базу данных.

Если вы забыли или не знаете название, логин или пароль к вашей базе данных, то их можно без труда узнать в файле wp-config.php, который находится в корневой папке веб-сайта. Записи о базе данных находятся в самом начале файла.

Если у вас русский язык:

Если у вас английский язык:

имя-базы-данных, логин-для-входа-в-БД, пароль-БД — скопируйте логин и пароль и откройте базу данных.

Запросы создаются на вкладке SQL. Документация.

SQL запрос к базе данных

Делайте запросы здесь. Когда запрос готов, нажмите Вперед.

Если вы получили ответ, что 0 таблиц было изменено, значит, текущее состояние параметры соответствует запросу.

ЗАПРОСЫ

Удаление данных от удаленных плагинов и данные записей

После удаления ненужных плагинов в таблице wp_postmeta могут остаться записи от них. В данной же таблице находятся мета данные записей.

Создайте запрос для удаления неиспользуемых записей плагинов и записей, которые остались после удаления плагинов или записей.

DELETE FROM wp_postmeta WHERE meta_key = ‘ ваш-мета-ключ ‘;

Замените ваш-мета-ключ на нужное значение.

Для мультисайта:

DELETE FROM wp_#_postmeta WHERE meta_key = ‘ ваш-мета-ключ ‘;

Измените # на ID веб-сайта и ваш-мета-ключ на нужное значение.

Удаление спам комментариев

Удалить весь спам из бд можно без проблем данным запросом:

DELETE FROM wp_comments WHERE comment_approved = ‘ spam ‘;

Для мультисайта:

DELETE FROM wp_#_comments WHERE comment_approved = ‘ spam ‘;

Измените # на ID веб-сайта.

Удаление комментариев, ожидающих проверки

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

DELETE FROM wp_comments WHERE comment_approved = ‘ 0 ‘;

Для мультисайта:

DELETE FROM wp_#_comments WHERE comment_approved = ‘ 0 ‘;

Измените # на ID веб-сайта.

Удаление неиспользуемых тегов

Если у вас есть тег, который не связаны ни с одной статьей, удалите его данным запросом:

DELETE FROM wp_terms wtINNER JOIN wp_term_taxonomy wtt ON wt.term_id = wtt.term_id WHERE wtt.taxonomy = ‘post_tag’ AND wtt.count = 0;

Для мультисайта:

DELETE FROM wp_#_terms wtINNER JOIN wp_term_taxonomy wtt ON wt.term_id = wtt.term_id WHERE wtt.taxonomy = ‘post_tag’ AND wtt.count = 0;

Измените # на ID веб-сайта.

Удаление Trackback и Pingback

Если вы выключили данные возможности и хотели бы удалить их записи из базы данных, используйте данные запросы:

Trackback

DELETE FROM wp_comments WHERE comment_type = ‘
trackback
‘;

Для мультисайта:

DELETE FROM wp_#_comments WHERE comment_type = ‘
trackback
‘;

Измените # на ID веб-сайта.

Pingback

DELETE FROM wp_comments WHERE comment_type = ‘
pingback
‘;

Для мультисайта:

DELETE FROM wp_#_comments WHERE comment_type = ‘
pingback
‘;

Измените # на ID веб-сайта.

Выключить данные возможности в WordPress можно в ПараметрахОбсуждения.

Удаление ревизий записей

Сохраненные версии записей хранятся в базе данных. Если у вас большой веб-сайт, большое число ревизий сильно увеличивает ее размер. Чтобы удалить их все, используйте этот запрос:

DELETE a,b,c FROM wp_posts aLEFT JOIN wp_term_relationships b ON( a.ID = b.object_id)LEFT JOIN wp_postmeta с ON( a.ID = c.post_id)LEFT JOIN wp_term_taxonomy d ON( b.term_taxonomy_id = d.term_taxonomy_id)WHERE a.post_type = ‘revision’AND d.taxonomy!= ‘link_category’

Для мультисайта:

DELETE a,b,c FROM wp_#_posts aLEFT JOIN wp_#_term_relationships b ON( a.ID = b.object_id)LEFT JOIN wp_#_postmeta с ON( a.ID = c.post_id)LEFT JOIN wp_#_term_taxonomy d ON( b.term_taxonomy_id = d.term_taxonomy_id)WHERE a.post_type = ‘revision’AND d.taxonomy!= ‘link_category’

Замените # на ID веб-сайта.

Удаление шорткодов плагинов и тем

Если вы пользовались каким-то плагином, который вставляет шорткоды, или вы сменили тему, в которой были встроены шорткоды, то сейчас шорткоды появятся на веб-сайте в виде текста. Чтобы удалить все записи о шорткодах из базы данных, сделайте этот запрос:

UPDATE wp_post SET post_content = replace(post_content, ‘
[ваш-шорткод]
‘, »);

Для мультисайта:

UPDATE wp_#_post SET post_content = replace(post_content, ‘
[ваш-шорткод]
‘, »);

Измените # на ID веб-сайта.

Удаление записей старше Х дней

Если вы планируете удалить записи старше Х дней, используйте этот запрос:

DELETE FROM ‘wp_posts’WHERE ‘post_type’ = ‘post’AND DATEDIFF(NOW(),’post_date’) > X -дней

Замените X-дней на нужное число дней.

Для мультисайта:

DELETE FROM ‘wp_#_posts’WHERE ‘post_type’ = ‘post’AND DATEDIFF(NOW(),’post_date’) > X-дней

Измените # и X-дней .

Удаление иных комментариев

Иногда некоторые плагины добавляют комментарии в таблицу wp_commentsmeta вместо wp_comments. Если вы хотели бы очистить эту таблицу, используйте этот запрос:

SELECT FROM wp_commentsmeta WHERE comment_idNOT IN(SELECT comment_idFROM wp_comments);

Если вы планируете очистить таблицу wp_commentsmeta на ином веб-сайте в сети, используйте этот запрос:

SELECT FROM wp_#_commentsmeta WHERE comment_idNOT IN(SELECT comment_idFROM wp_#_comments);

Замените # на ID веб-сайта.

Оптимизация базы данных

Вы можете легко оптимизировать таблицы базы данных без использования плагинов.

В phpMyAdmin выберите нужную базу данных, спуститесь вниз, нажмите Отметить все и выберите Оптимизировать таблицу в выпадающем меню. Нажимать «Вперед» не необходимо, оптимизация начнется автоматически.

Оптимизировать таблицу

Если базы данных не помещается на одной странице, то вам необходимо оптимизировать таблицы на каждой странице. Можно оптимизировать все таблицы, или только самые большие по размеру. Размер таблицы указывается в столбце Размер.

База данных MySQL оптимизирована

Пустой результат означает, что ничего не было оптимизировано, так как таблицы оптимизированы плагином, который установлен на веб-сайте.

База данных свежей установки WordPress 4.9.8 для сравнения

Плагины WordPress для оптимизации базы данных

4 лучших плагина оптимизации базы данных в порядке увеличения функционала.

Сделайте бэкап базы данных перед использованием данных плагинов. Некоторые из плагинов удаляют записи, имеющие статус Черновик. Убедитесь, что все Черновики опубликованы.

WP Sweep


WP-Sweep

WP Sweep(бесплатный) очищает базу данных от неиспользуемых и служебных данных и оптимизирует базу данных. Плюс плагина в том, что для оптимизации он использует стандартные возможности удаления WordPress. Все просто и безопасно. Минус в том, что в нем нет расписания для автоматического сервиса.

WP Optimize


WP-Optimize — Clean, Compress, Cache.

WP Optimize(бесплатный) — делает то же самое, но в нем есть автоматическое расписание очистки и оптимизации БД. Для оптимизации базы данных он использует прямые запросы к базе данных и оставляет после себя некоторые записи. Параметров минимум, подходит для новичков.

У плагина более 800.000 установок, регулярно обновляется, написан группой известных разработчиков.

В одной из последних версий в плагине появилось кеширование на уровне плагина WP Super Cache и сжатие картинок.

Advanced Database Cleaner


Advanced Database Cleaner

Advanced Database Cleaner(бесплатный) аналогичен предыдущему, но есть мощный инструмент редактирования базы данных вручную, редактирования cron-расписания и редактирования таблицы options базы данных. Плюс в том, что есть все, что необходимо, некоторый минус в том, что для оптимизации используются прямые запросы к базе данных.

Этот плагин, так же как и предыдущие, пропускает некоторые записи(к примеру, от удаленных плагинов), которые можно очистить только вручную. Для того, чтобы очистить вручную, необходимо знать, чему соответствует каждая запись в базе данных.

Advanced Database Cleaner Pro

Advanced Database Cleaner Pro(платный) показывает, чему соответствует каждая запись в базе данных.

Advanced Database Cleaner Pro Плагин очистки и оптимизации базы данных WordPress

Хороший плагин.

Описание некоторых терминов, которые используются БД.

Orphan post meta. Когда вы создаете новый пост, у него появляются мета данные. Это Автор поста, Категория поста и дата публикации или изменения. В некоторых случаях данные мета данные остаются в базе данных неудаленными и не относящимися ни к одному посту. Такие данные называются orphan post meta, их нужно удалять.

Orphan comment meta. То же самое, что post meta, — комментарии, которые не относятся ни к одному посту. Необходимо удалять.

Orphan relationships. Таблица wp_term_relationships наполняется связями между записями, которые связывали удаленные записи. Если время от времени вы удаляете содержимое на веб-сайте, то связи между удаленными страницами наполняют эту таблицу. Со временем данные записи наполняют таблицу и занимают место в базе данных. Удаляйте.

Dashboard transient feed. Это врéменные данные, которые хранятся в базе данных и имеют срок существования, после чего удаляются.

Заключение

После оптимизаци базы данных веб-сайт должен начать работать быстрее. Бэкап будет работать быстрее. На больших веб-сайтах с высокой посещаемостью после очистки и оптимизации базы данных веб-сайт будет работать заметно быстрее.

Если вы будете использовать один из плагинов для автоматической очистки базы данных, не оставляйте неопубликованный содержимое на веб-сайте. Многие плагины во время очистки базы данных удаляют неопубликованный контент.

Автоматическую оптимизацию можно изменить по расписанию. В зависимости от посещаемости и контента выберите 1 — 7 дней.

Читайте также:

  • Как работает база данных
  • Как настроить префикс базы данных
  • Ускорение и оптимизация WordPress

Надеюсь, статья была полезна. Оставляйте комментарии.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *