Оптимизируем базу данных MySQL
Для чего собственно нужна оптимизация базы данных MySQL? В первую очередь для снижения нагрузки на сервер хостинг — провайдера. Ну и второе немаловажное — для быстродействия вашего сайта.
Давайте рассмотрим из чего состоит база данных движка WordPress. А выглядит она следующим образом:
В левом столбце отражены наименования всех таблиц. Каждая из них отвечает за ту или иную информацию, поступающую с сайта. Именно поэтому, к работе с базой нужно отнестись серьезно. Удалите ее и вся информация с блога также исчезнет.
Поэтому, я рекомендую абсолютно для всех, регулярно создавать бэкапы MySQL. Для этого существует очень практичный плагин под названием WordPress Database Backup. Устанавливаете, активируете и в панели управления в разделе «Инструменты» появится новая вкладка: «Резервное копирование». Все настроики на русском языке, так что разберется каждый. Обязательно укажите E-mail адрес на который будут отправлятьсябэкапы базы данных, а также интервал времени (каждый день или раз в неделю).
Кроме того, в любой момент вы можете создать резервное копирование и скачать базу к себе на компьютер.
Так, с этим разобрались. Продолжаем изучать MySQL:
- wp_commentmeta — таблица, отвечающая за хранение информации о процессе комментирования (одобрен, удален, спам и т.д.)
- wp_comments — таблица, которая содержит в себе все комментарии сайта
- wp_links — включает в себя ссылки WordPress, установленные по умолчанию, а также ссылки добавленные администратором в панели управления в соответствующей вкладке «Ссылки»
- wp_options — очень важная таблица, так как содержит в себе все настройки WordPress и плагинов
- wp_postmeta — содержит информацию обо всех файлах (картинки, видео и многое другое)
- wp_posts — наверное самая важная таблица, которая состоит из контента сайта (записи, страницы и прочее). Да, именно здесь и хранятся все наши труды и публикации!
- wp_terms — включает в себя категории , ссылки и теги сайта
- wp_term_relationships — связывает теги, ссылки и категории с соответствующими записями (страницами)
- wp_term_taxonomy — содержит записи дочерних рубрик и связывает их с соответствующими публикациями
- wp_usermeta — таблица, в которой обирается вся информация о зарегистрированных пользователях (данные, настройки профиля и прочее)
- wp_users — хранит все данные пользователей, в том числе и администратора (логины, пароли и прочее)
Это стандартный набор таблиц, формирующийся при «голой» установке WordPress. Все остальные таблицы, создаются во время использования самого движка (установка плагинов и других действий).
Ну а теперь переходим непосредственно к оптимизации базы данных MySQL.
Тут нам также необходимо проделать ряд действий. Я не удивлюсь, что у большинства тех, кто читает данный пост, до сих пор на сайтах не отключено автосохранение ревизий заметок. Если не знаете, что это такое, почитайте об этом статью и отключите данную функцию. Готово? Отлично!
Далее, что необходимо будет также произвести — это сделать резервную копию базы данных. Вы можете воспользоваться для этого вышеуказанным плагином, либо экспортировать MySQL через phpMyAdmin. Просто зайдите в панель управления вашим хостингом, найдите нужный раздел и войдите в phpMyAdmin.
Выберите нужную вам базу данных, выделите все ее таблицы и нажмите на вкладку «Экспорт»:
В следующем появившемся окне, внизу, ставите галочку напротив «Сохранить как файл» и нажимаете «Ок». База скачается на ваш компьютер.
После того как вы проделаете данные действия, можно смело начинать оптимизацию. И начнем мы ее с удаления ревизий, которые при не отключенном автосохранении, занимают огромное место в базе данных. Для их удаления, в панели phpMyAdmin во вкладке «SQL» вводим следующую команду:
и наблюдаем следующую картину:
Удалено столько-то строк. Хорошо, переходим к следующему этапу — оптимизируем таблицу wp_postmeta. А именно удалим ненужную информацию, записывающуюся WordPress во время редактирования публикаций. Это своего рода «мусор», занимающий также дополнительное место в базе данных MySQL. Копируем и вставляем в поле SQL следующий запрос:
В результате чего также появится информация о количестве удаленных строк.
Следующим шагом мы очистим базу от «хлама» комментариев (информация о спаме и др.) Все эти данные, как я уже описывал, хранятся в таблице wp_commentmeta и в зачастую также занимают много места. В следующей своей статье, я напишу о том как избежать спам-комментариев на своем блоге без использования плагинов.
Удаляется данная информация путем ввода запроса:
Отлично! Теперь, все, что нам осталось сделать — выделить все таблицы и оптимизировать средствами phpMyAdmin:
Вот в общем то и все! Теперь, ваш блог должен вздохнуть с облегчением, а база данных уменьшиться в несколько раз. А я на этом с вами буду прощаться, надеюсь тема —оптимизация базы данных MySQL была для вас полезной.
Удачи!