Скрипт оптимизации нескольких баз данных одновременно

10 декабря 2010, 23:35 , , Александр Пятницын

У каждого посещаемого сайта с объёмным контентом есть такая проблема: после удаления или изменения данных в таблице, она становится фрагментированной, дисковое пространство расходуется зря, а время выполнения запроса вырастает, из-за того, что каждая команда INSERT повторно использует позиции старых записей. Поэтому базу данных любого сайта полезно время от времени оптимизировать, дефрагментировать и вообще всячески о ней заботиться.

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

Этот маленький скриптик выполняет операцию OPTIMIZE TABLE для всех фрагментированных таблиц выбранных баз данных.

Требования: база должна быть в формате MySQL (если быть точным, то MyISAM — впрочем, если вы знаете, что это такое, вам этот скрипт уже не нужен; а если не знаете, то можете не волноваться по этому поводу), а PHP должен исполняться.

Команда OPTIMIZE TABLE работает следующим образом:

  • Если в таблице есть удалённые или разделённые строки, она восстанавливает таблицу.
  • Если индексные страницы не отсортированы, сортирует их.
  • Если статистические данные не обновлены (и восстановление нельзя осуществить путём сортировки индексов), обновляет их.

Скачать скрипт.


Комментарии

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

Кто я

Александр 'J-zef' Пятницын

Да, это я! :)


Категории


Кредо

Сожалеть о минувшем — поздно:
Рухнул мир, разорвав оковы.
Мне навстречу, подобны звёздам —
Золотые глаза дракона.

Мне не будет за это прощенья...
Но скажите, святые иконы,
Кто наполнил огнём священным
Золотые глаза дракона?

И подсуден теперь едва ли
Я земным и небесным законам:
Я — последний, кому сияли
Золотые глаза дракона.
Smart