Несколько полезных SQL запросов для wordpress

Pervushin.Com » Wordpress, Полезняшки » Несколько полезных SQL запросов для wordpress

Вчера в срочном порядке во всех постах pervushin.com понадобилось заменить одну фразу на другую. На данный момент в блоге 310 записей. Можно конечно отредактировать все 310 постов что называется “вручную”, но это не очень хорошая идея или очень не хорошая. Нужна автоматизация.

После не продолжительных поисков был найден довольно не сложный способ автоматизировать процесс замены. Буквально одна строчка SQL запроса в базе данных моего wordpress и через пару секунд процесс замены был завершен. Завершен удачно.

Несколько полезных SQL запросов для wordpress

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

Как выполнять SQL запросы

Все начинается в панели phpMyAdmin. Именно в phpMyAdmin располагаются базы данных. Заходим в панель и в окне справа кликаем на вкладку “Экспорт”. Если у вас возник вопрос – “почему не вкладку SQL?”, тогда напомню, что перед выполнением любой операции необходимо делать копию того, над чем работаем. Тогда в случае неудачи мы сможем восстановить работоспособность измененного из этой копии.

Страница экспорта базы данных в SQL файл

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

Также здесь можно указать метод сжатия готового файла. Например .zip. Тогда phpMyAdmin сделает выборку необходимых таблиц или базы целиком, а затем упакует ее в архив, который тут же скачается на компьютер. Удобно, если база большая по размеру.

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

На этой вкладке лишь одно окно, так что не промахнетесь :) . В это окно достаточно вставить необходимый SQL запрос и нажать “OK”.

SQL запрос для массовой замены фразы в постах wordpress

Массовая замена фразы в постах

Тот самый SQL запрос, который помог мне вчера сэкономить массу времени. Цель проста: поиск и замена одного текста на другой в постах блога.

UPDATE wp_posts SET post_content = REPLACE (post_content,'что заменить','чем заменить');

Копируем вышеуказанный SQL запрос в окно, меняем фразы “что заменить” и “чем заменить” на свои, и нажимаем “ОК”.

Удаление копий постов (ревизий)

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

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

Но дело в том, что движок не удаляет эти самые сохраненные копии (их еще ревизиями обзывают). В итоге база растет как на дрожжах. А чем больше база, тем медленней база отдает информацию, так как больше времени уходит на поиск нужной информации в базе. В общем необходимо лишнее удалить. SQL запрос нам в помощь:

DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision'

Делайте эту команду изредка, лишним не будет. У меня база уменьшилась на 355 уже не нужных записей ;) .

Удаляем уведомления (pingbacks)

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

Это абсолютно лишние записи, которые нам лично никакой пользы не несут. Давайте расправимся с ними вот этим SQL запросом:

DELETE FROM wp_comments WHERE comment_type = 'pingback';

И вообще, эти пинги лучше отключить. Я отключил:

UPDATE wp_posts p SET p.ping_status = 'closed'

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

Удачи Вам друзья и надежной, производительной базы данных!

Сладкое на сегодня: рекламный ролик (как обычно с юморцой) пива. Только не подумайте, я не пропагандирую употребление, но смекалка это хорошо. Наслаждайтесь :) .

Другие записи из категории "Wordpress, Полезняшки":

Метки: , , ,

Сделайте, пожалуйста, репост этой статьи, друзья:

Понравилось? Получайте новые материалы Pervushin.com по RSS каналу, присоединяйтесь ко мне в twitter, а еще лучше - оставьте свой email и я отправлю Вам новые статьи ;):

  • http://cms-wordpress.ru Clock

    Насчет ревизий, их лучше вообще отключить или сократить до 2-3. Делается это через php

    • http://pervushin.com/ Snapshot

      Не-не, в том то и дело, что не хочу их отключать совсем, бывает выручают они меня. А через php можно любую вышеуказанную функцию реализовать и не придется в phpmyadmin нырять…

  • http://www.facebook.com/people/Мария-Бессонова/100002157262782 Мария Бессонова

    У меня пока не так много записей в своем блоге. Но умение применять функцию SQL запросов может пригодиться в будущем. Большое спасибо за информацию!

    • http://pervushin.com/ Snapshot

      Пригодится, обязательно. Я вот рад, что пост такой написал. Сегодня опять понадобилась функция замены и я уже знал где ее посмотреть :)

  • http://5na5.com/ Леша

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

  • http://twitter.com/signaturgod Evgeniy Kuzin

    Хорошие запросы, сам использую раз в месяц некоторые. А ролик – вообще чума))

  • Hudoznik

    Для меня что то не совсем понятно …

    • http://pervushin.com/ Snapshot

      Что именно?

  • http://pervushin.com/ Сергей Pervushin.com

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