Генеральная уборка продолжается: как почистить базу MySQL. лучших плагина оптимизации базы данных в порядке увеличения функционала. Оптимизация базы данных Вордпресс с помощью плагинов

Здравствуйте! В ходе моей работы появилась необходимость в MySQL очистить таблицу наиболее быстрым способом. Напрямую с базой данных и языками программирования типа PHP, C сталкиваться последние времени приходится не часто. Кое-что уже подзабыл и залез в свои заметки, чтобы освежить память.

На удивление быстро все нашел и вспомнил. В текущей публикации поделюсь с вами.

Полная и выборочная очистка таблицы

В целом для такой работы с MySQL есть два подходящих запроса:

  • TRUNCATE TABLE.
  • DELETE FROM.

У них есть существенная разница в производительности – скорости исполнения операции.

TRUNCATE обычно выполняется быстрее, потребляя меньше системных ресурсов.

Для примера покажу, как он работает. Допустим есть таблица под названием «newspk», которую требуется очистить. Для этой цели применим нижеприведенный запрос.

TRUNCATE TABLE newspk;

Итак, с полной очисткой таблицы и её преимуществами разобрались, посмотрим на выборочную.

DELETE FROM newspk WHERE id=’34’;

Здесь уже используется условие, так что удалиться только запись с идентификатором 34. Если же условие WHERE не будет, то произойдет полное очищение.

Отмечу, что программирование относится к моей сфере деятельности, однако является второстепенной темой на этом блоге. Основная тематика – работа в интернете. При том стараюсь рассматривать не всё подряд, а только нормальные способы с хорошими финансовыми перспективами. При желании можете посмотреть публикации.

Обновления на блоге появляются регулярно. Анонсы новых материалов добавляю в социальные сети, ссылки для перехода есть в боковой колонке. Также через специальную форму можно подписаться на бесплатную рассылку по e-mail. До связи.

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

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

Давайте же рассмотрим способы «очистки» вашей базы данных WordPress.

Перед началом сделайте бекап!

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

Вычищаем свою БД WordPress с помощью WP-Sweep

Первым делом вам необходимо будет установить и активировать плагин WP-Sweep plugin . После активации просто переходим в раздел Инструменты » Sweep для очистки своей БД.

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

Вы можете детально изучить каждый найденный элемент и вычищать их по одному, или же можно прокрутить вниз страницу и нажать на sweep all для очистки всего мусора в вашей базе данных WordPress.

Очистка может занять некоторое время в зависимости от того, насколько велика ваша БД. WP-Sweep отобразит прогресс путем обновления статистики на странице.

Преимущества WP-Sweep перед WP-Optimize?

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

Также основной отличительной характеристикой является то, что WP-Sweep использует корректные функции удаления WordPress настолько, насколько это возможно вместо прямого выполнения MySQL запросов.

Что очищает WP-Sweep?

WP-Sweep использует корректные функции удаления WordPress для очистки БД. На момент написания этой статьи, он справляется со следующим:

  • Редакции записей
  • Автоматически сохраненные черновики
  • Удаленные комментарии
  • Неподтвержденные комментарии
  • Комментарии, являющиеся спамом
  • Неиспользуемые метаданные записей
  • Неиспользуемые метаданные комментариев
  • Неиспользуемые метаданные пользователей
  • Неиспользуемые отношения терминов
  • Неиспользуемые термины
  • Дублирующиеся метаданные записей
  • Дублирующиеся метаданные комментариев
  • Дублирующиеся метаданные пользователей
  • Промежуточные вариации
  • Оптимизация таблиц базы данных
  • Кеш oEmbed в метаданных записей

Вот и все, мы надеемся, что эта статья помогла вам вычистить мусор из вашего сайта на WordPress с помощью WP-Sweep.

По всем вопросам и отзывам просьба писать в комментарии ниже.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ЗАПРОСЫ

Используйте эти SQL запросы для очистки базы данных.

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

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

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

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

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

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

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

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

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

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

spam ‘;

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

spam ‘;

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

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

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

DELETE FROM wp_comments WHERE comment_approved = ‘0 ‘;

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

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

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

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

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

DELETE FROM wp_terms wt

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

DELETE FROM wp_#_terms wt
INNER 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

trackback ‘;

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

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 a
LEFT 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)

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

DELETE a,b,c FROM wp_#_posts a
LEFT 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_id
NOT IN (
SELECT comment_id
FROM wp_comments
);

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

SELECT FROM wp_#_commentsmeta WHERE comment_id
NOT IN (
SELECT comment_id
FROM wp_#_comments
);

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

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

Оптимизация таблиц

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

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

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

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

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

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

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

WP Sweep

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

Доброго дня дорогие друзья. Пока моя дверь в офис едет из Питера, я решил написать для вас очень полезный пост и рассказать в нем о том, как можно за несколько минут полностью очистить базу данных MySQL своего блога от мусора, значительно уменьшив ее размер. Итак! Из этой статьи вы узнаете:

Давайте начнем.

ПЕРЕД ВСЕМИ МАНИПУЛЯЦИЯМИ СО СВОЕЙ БАЗОЙ ДАННЫХ БЛОГА СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ! НЕ ЗНАЕТЕ КАК, НАПИШИТЕ ХОСТЕРУ!

Сразу с ходу совет: Многие подумают после прочтения статьи, — «Ой, как это все сложно, лучше я не буду ни чего очищать, а то так очищу, что все полетит, пусть остается все как есть». В принципе не плохой вариант, но база все растет и растет. =) В общем делать надо, бояться не нужно, а если боитесь, то обратитесь на фриланс к спецу, который все вам сделает чики пуки.

Зачем нужно очищать базу от мусора и как она им забивается?

Ответ на этот вопрос простой. Если вы не будете очищать свою базу данных, которая из месяца в месяц ведения вашего блога, становится все больше и больше, то однажды она может разрастись до таких размеров, что ваш хостинг (сервер), не выдержит ее. =)

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

Моя база данных за 3 года ведения блога весит — 58 Мб. Это нормально! Но можно уменьшить, что я вам и покажу в этой статье!

Мне тут написала женщина позавчера, — «Александр, я посмотрела на хостинге моя база данных весит 450 мб». Я ее спросил, — «Вы наверное уже лет 20 блог ведете?». Она сказала, — «Нет, всего пол года». Я чуть со стула не упал. Здесь однозначно у женщины проблемы. Давайте посмотрим из-за чего растут базы данных:

1. Из-за роста числа статей на блоге.
2. Из-за ревизий статей (резервных копий).
3. Из-за роста количества комментариев на блоге (спам-комментариев).
4. Из-за плагинов установленных на блоге.
5. Из-за лишних, не используемых MySQL таблиц.
6. Из-за кучи ненужных Pingbacks.

Чем больше контента — тем больше база — это нормально! Но вот когда ревизии (резервные копии статей) не отключены или не очищаются постоянно вручную, то это плохо! База данных будет весить тонны. И это не шутка. Ну представьте, вы пишите пост, автоматически сохраняется черновик:

И вот сколько их может сохраниться за время написания поста? =) Много! Очень часто у начинающих блоггеров бывает так, что когда они узнают информацию по чистке базы данных, то обнаруживают, что ревизии постов у них весят больше чем сами посты в 2-3 раза. =)

Плагины. Они базу не занимают, а занимают место таблицы, создаваемые этими плагинами. Часто рост базы данных Mysql связан с тем, что какие-то плагины конфликтуют на блоге или работают не правильно, в ходе этого в таблицах базы данных происходит ужас и она растет.

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

Ну и последнее — это pingbacks. Пинкбеки. Объясню коротко и ясно. Какой-то блоггер ведет блог, пишет статью и в ней ставит ссылку на ваш блог. Если у него в админке включена настройка — «Пытаться оповестить блоги, упоминаемые в статье» (Админка — Параметры — Обсуждение):

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

Гут! Разобрались и поняли как наша база забивается и что ее нужно ОБЯЗАТЕЛЬНО чистить. Теперь рассмотрим что чистить?

Что нужно очищать в базе данных (что мы будем чистить)?


Спам комментарии
Не нужные таблицы

Как непосредственно очистить базу MySQL (каким плагином):

Чтобы долго тут все не размусоливать, то вот посмотрите на мою базу данных:

Свою базу данных вы можете посмотреть зайдя к себе на хостинг (сервер) в phpMyAdmin и выбрать слева нужную базу. Показывать как это делается нет смысла, так как у всех хостинги разные. Но вот phpMyAdmin одинаковый. Я думаю большинство из вас знают где его найти, если нет, то напишите в поддержку вашего хостинга и попросите помощи.

Итак! Что мы видим? Вот это все таблицы моей базы данных. Что занимает всех больше места? На кб не обращайте внимания. Нас интересуют Mb.Таблицы:

wp-comments
wp-posts + wp_postmeta
wp_options
wp_blc_instances
wp_blc_links
wp_blc_synch
wp_wppage_conversion
wp_wppage_conversion_log
wp_wppage_stats

Ну как бы это меня они интересуют, так как там МБ, у вас могут быть дополнительно другие таблицы. Я же не знаю, какие вы плагины используете.

Давайте по порядку. wp_comments — в эту таблицу заносятся все комментарии блога. 23,5 мб — это нормально! У меня ведь почти 40 000 комментариев. =)

Если у вас эта таблица здоровенная, значит у вас или много комментов на блоге или много спам комментов, которые нужно удалить! Что мы с вами и сделаем. Кстати сразу зайдите в админке блога в комментарии спам и корзина и посмотрите, может там несколько тысяч комментариев надо удалить. Как мне однажды... Более 5000 удалил. =)

wp_posts + wp_ppostmeta — сюда заносятся все посты блога + их метаданные. 15 Мб — отличный размер для 400 объемных статей блога, некоторые из них аж в 30 000 символов текста, даже больше.

wp_options — здесь хранятся настройки нашего блога. Обычно размер не большой. У меня 1,5 мб и это отлично! Если у кого-то большой размер (но это редкость), то почистите плагином Optimize DB или Clean Options. На эту тему куча статей в интернете, почитайте.

Пару слов по плагину Clean Options. Хороший плагин, находит в таблице wp_options кучу ненужных данных. Вот например у меня в этой таблице есть настройки плагина Math Comment Spam Protection, который сто лет назад использовался на блоге и уже не используется. А вот настройки его в базе остались. Было бы здорово их удалить.

НО! Советую пользоваться этим плагином очень при очень осторожно! Удалять только то, что действительно не нужно!

Совет: Если у вас таблица wp_options реально не больших размеров. Ну там 1-2 мб, то в принципе не стоит ничего ковырять, а то можете так наковырять, что будет плохо! У меня 1,5 мб и я даже не буду заморачиваться. Я думаю, у вас не больше.

Дальше едем. wp_blc_instances, wp_blc_links, wp_blc_synch + wp_wppage_conversion, wp_wppage_conversion_log, wp_wppage_stats. Посмотрите на эти таблицы. Что это? А это таблицы от плагинов Broken Link Checker и Wppage, которые стоят у меня на блоге, но не используются. Точнее Broken Link Checker используется для проверки битых ссылок, а вот плагин Wppage вообще не используется никогда!

Он раньше использовался, но сейчас удален. Я его на другой домен поместил, чтобы он не создавал нагрузку на этот блог. В общем что мы видим? Плагины не используются, а таблицы забиты местом. Например таблицы от плагина Broken Link Checker можно почистить, а таблицы плагин Wppage вообще можно удалить. Что мы сейчас и сделаем.

Для начала небольшое пояснение. Чтобы понять почему можно почистить таблицы плагина Broken Link Checker, нужно . Из нее вы узнаете как работает плагин. То есть в принципе я спокойно могу очистить таблицы, мне не важны данные этого плагина. Есть плагины, таблицы которых чистить не нужно! Чищу:

Выбираем нужные нам таблицы (отмечаем галочками) и внизу выбираем — очистить. Готово! Посмотрите теперь сколько весит моя база:

Гут! Теперь удаляем ненужные таблицы от старого плагина Wppage который уже не используется:

Выбираем нужные нам таблицы (отмечаем галочками) и внизу выбираем — удалить. Готово! А теперь моя база весит:

Внимание! Аккуратно отмечайте галочками таблицы, а то можете случайно еще что-то захватить. =) Итого, я уменьшил размер базы данных на целых 16 Мб. Это не то что хорошо! Это даже супер я так скажу!

Дальше. Нужно отключить ревизии постов и удалить все имеющиеся. О том как их вообще отключить . Кстати там же я и писал про удаление ревизий mysql запросами посылаемыми в phpmyadmin. У меня например все удалилось без проблем.

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

Ставим везде галочки и жмем синенькую кнопочку. Готово! Ваша база данных очищена. Ну как вы видите она у меня и так была чиста уже.

Советую после чистки отключать плагин, так же и плагины WordPress Database Backup и Clean Options. Зачем они нужны активные когда не используются? Вот потом включите через 2-3 месяца.

Как часто надо чистить базу данных?

Я рекомендую делать данную процедуру по мере того как вы засоряете базу. Вот бекапы делать нужно каждый божий день плагином WordPress Database Backup, а вот чистку на ваше усмотрение. Ну раз в 2-3 месяца желательно! Кроме чистки просто иногда следите за базой данных, за ее размером, чтобы не получилось так, что вы решили посмотреть на нее через 2 года ведения блога, а там размер 3 Гб. =)

Ну в общем на этом буду пост заканчивать, надеюсь он был для вас полезен! Если вы выполните все процедуры, которые я тут описал, то ваша база будет маленьких размеров, чистая и идеальная, благодаря этому ваш блог будет работать шустрее и пользователи будут радоваться тому, как оперативно загружаются страницы.

P.S. Кстати кто применит описанные выше процедуры, опишите как уменьшилась ваша база данных. Спасибо! Ну все! Пока!

P.P.S. Кстати в ближайшие месяцы планируется начаться запись нового обучающего видеокурса по защите и ускорению блога для новичков и не только. Курс будем писать я и еще один человек. Системный администратор, настоящий профессионал в области защиты сайтов и блогов. Не пропустите ...

С уважением, Александр Борисов

От автора: вы думаете, что везде убрали? Дом вычистили, машину помыли, детей до блеска «выдраили». А на своем сервере СУБД забыли прибраться! Не умеете? Это не страшно! Сейчас я научу вас, как почистить базу MySQL.

Зачем убирать?

Чтобы не было мусора и пыли. В случае с базами данных имеется в виду «цифровой» мусор. Если ваш ресурс работает на основе CMS, то даже в этом случае в таблицах остаются различные «ошметки» после работы плагинов, системы движка. Ну, может и вы где-то тоже строку «забыли». Постепенно вся эта «пыль» скапливается в огромные пласты, которые затем негативно влияют на быстродействие всего ресурса. А это негативно отражается на юзабилити сайта. В общем, чистить все равно надо и придется.

Кроме этого «выросшая» как на дрожжах база может занимать много виртуального дискового пространства, в результате чего хостер начнет нервничать и заваливать вас сообщении о превышении лимита. Если ничего не предпримите (не перейдете на дорогостоящий тариф, в котором предоставляются большие «площади» под сайт), то он просто «выдернет из розетки» ваш ресурс. Поэтому лучше научиться, как почистить базу данных MySQL, чем тратиться на новый тарифный план или переезд на «новые рельсы».

Также иногда требуется удалить только содержимое таблицы, и сберечь ее структуру. Все это мы рассмотрим в сегодняшнем материале, посвященном правильной уборке на СУБД. Стартуем!

Очищаем таблицу

Часто требуется не удалять таблицу, а лишь очистить ее от всех строк, но при этом сохранить всю ее структуру: типы данных столбцов, индексы, первичные ключи и другие ее параметры. Конечно, можно всегда удалить таблицу целиком с помощью команды DROP TABLTE, но затем придется создавать ее и прописывать все атрибуты заново. А это не совсем удобно, поэтому в MySQL для удаления строк таблицы есть специальная команда. Ее синтаксис:

TRUNCATE TABLE name_table;

TRUNCATE TABLE name_table ;

Пример, как почистить БД MySQL:

TRUNCATE TABLE `db1`.`user_animal`;

TRUNCATE TABLE ` db1 ` . ` user_animal ` ;

Заглядываем в таблицу, и видим, что вкладка «Обзор» неактивна, а автоматически сгенерированный запрос на выборку вернул пустой результат. То есть, получили, что хотели:

Существует еще одна команда SQL, позволяющая получить аналогичный результат – DELETE FROM. Пример использования:

DELETE FROM `db1`.`animal`;

DELETE FROM ` db1 ` . ` animal ` ;

Таким образом мы очистили все «клетки» таблицы animal от зверюшек. При этом структура таблицы не была затронута, удалены были только записи. Получаем в итоге один и тот же результат:

Перед тем, как почистить базу данных MySQL еще раз, разберемся, чем эти две команды отличаются. Точнее, чем TRUNKATE предпочтительнее для использования:

В отличие от DELETE FROM эта команда не стирает все записи построчно, а удаляет и заново создает таблицу. Данная операция занимает меньше времени.

Не возвращает число удаленных строк, что также экономит ресурсы.

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

Средства программной оболочки

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

Как видим, приложение выполнило ту же команду (TRUNCATE) и стерло все записи из указанной таблицы.

Перед тем, как почистить базу MySQL окончательно, заглянем на вкладку «Обзор», чтобы убедиться, что в таблице никаких данных не осталось. Все нормально, автоматически сгенерированная выборка вернула нулевой результат.

Легкая уборка

Но это еще не все возможности, которые предоставляет эта программа. Ее встроенные средства позволяют немного убраться. Точнее, оптимизировать работу выбранной таблицы, расставить все по своим местам. Для этого снова выделяем нужную таблицу из базы, но в выпадающем списке команд выбираем «Оптимизировать таблицу».

Система программы автоматически генерирует запрос к серверу СУБД, и отправляет его на выполнение. Ядро, в свою очередь, возвращает результат и отчет о выполнении запроса.

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

Восстанавливает удаленные или неполные записи в таблице.

Сортирует индексные страницы (приводит индексы в порядок).

Обновляет статистику по таблице.

Думаю, понятно, что это нужная команда, которую иногда следует выполнять, чтобы поддерживать «здоровье» таблиц в тонусе.

Мусоросборники

Что касается популярных движков, то с ними MySQL не сможет вам помочь. Ну откуда СУБД может знать, какие записи в таблицах являются «мусором», а какие нет. Для этого (под каждую CMS) разрабатываются специализированные расширения. Приведу несколько примеров таких плагинов для WordPress:

WP-Cleanup. Сообщается, что он не обновлялся целых 2 года, но на самом деле работает даже на последних версиях движка.

Надеюсь, вы , как чистить базу данных MySQL. Главное понять, что убирать надо не только в квартире, машине, но и на сервере СУБД. Иначе ваш сайт «захламится» так, что ни один посетитель на него не «влезет». А этого нельзя допускать!




Top