Блог фрилансера - сайты под ключ

Оптимизация БД

Просмотров: 12584Комментарии: 3
ВебмастеруПолезное

  Практически все современные блоги и сайты работают на движках которые используют в качестве БД MySQL, ну или не меньше 95% всех движков. Есть конечно и другие виды баз данных, но они используются в очень малом количестве движков. Про использовании в качестве базы данных простых текстовых файлов я вообще молчу. Подобные решения я встречал лиш в очень простых движках разработки многолетней давности. Подобные базы очень нестабильны и ненадёжны. Потерять все данные из текстовых файлов можно при любой перегрузке файловой системы.

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

  Существуют движки в которых заранее предусмотренн процесс оптимизации БД. Один из старых движков PHP Nuke и один из новых Даннео позволяют производить оптимизацию БД прямо из админки. Причём если в Nuke это производиться по желанию вебмастера когда он об этом вспомнит, то в Даннео встроенна система оповещения о необходимости произвести оптимизацию БД. По умолчанию это нужно делать раз в 10 суток. Хотя в принципе это зависит от посещаемости сайта, от количества контента и наличия некоторых дополнительных функций. Если хотя бы иногда не производить оптимизацию БД, то во первых страницы сайта начнут открываться немного медленнее, во вторых время обращения к БД будет немного больше. И в конечном итоге нагрузка на сервер будет увеличиваться.

  Есть пример из собственного опыта - попросили разобраться с одним сайтом который заметно медленно открывался и его владельцу хостер стал присылать письма счастья. Не буду называть движок, скажу что один из очень популярных последние пару лет. Я не сразу разобрался в чём дело, тестировал сам сервер на нагрузоустойчивость, включил скрипт статистики Awstats для вычисления посещаемости по логам сервера... Лиш когда я залез в БД через PHP My Admin и увидел что там твориться, я понял в чём дело. 3 года никто не оптимизировал БД! Сама база была к тому времени по обьёму более 80 мегабайт а общий обьём неоптимизированного содержимого был в районе 5-6 мегабайт. После оптимизации БД сайт стал летать а хостер забыл о перегрузке сервера.

  Ну а как сделать оптимизацию таблиц в БД если сама система управления контентом (движок) Вашего сайта или блога не имеет такой функции? Очень просто, нужно вспомнить Ваш логин и пароль для доступа в панель управления аккаунтом и через него зайти через PHP My Admin в базу данных. На многих хостингах доступ к БД через PHP My Admin разрешенн и по прямой ссылке которую можно получить в панели управления. Нужно только ввести логи и пароль доступа к самой БД. В интерфейсе нужно либо вручную отметить все таблицы которые нуждаются в оптимизации, либо воспользоваться функцией - отметить таблицы нуждающиеся в оптимизации. Потом выбрать в выпадающем списке команд (это в самом низу таблицы) - оптимизировать отмеченные таблицы. Если Вы никогда этого не делали а Ваш сайт или блог достаточно посещаем и ему больше чем 6-7 месяцев, то Вы наверняка заметите увеличение скорости работы.

Комментариев: 3 RSS

1 Артур 16-04-2011 10:31

Спасибо за статью. Оптимизировал свою базу, стало все летать на сайте

2 Татьяна 19-09-2012 02:20

спасибо.

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

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question


Комментарий будет опубликован после проверки

     

  

(обязательно)