Текущее время: 19 дек 2017, 00:34


Регламентное обслуживание всех таблиц БД MySQL

Регламентное обслуживание всех таблиц БД MySQL

Регламентное обслуживание всех таблиц БД MySQL

Сообщение jakal » 27 фев 2011, 17:27

Выдаем команду CHECK по всем таблицам базы последовательно, если в результате этого запроса будет содержаться негативный результат, то запускается операция восстановления базы (REPAIR). После того как выполнена проверка таблицы, проводится ее оптимизация.

Код: Выделить всё
<?php
$database="test";
mysql_connect("localhost", "root", "$database");
$res=mysql_query("SHOW TABLES IN ".$database.";");
while ( $o=mysql_fetch_row($res) )
{
 $res_ch=mysql_query("CHECK TABLE $database.$o[0] EXTENDED;");
 $o_ch=mysql_fetch_row();
 $o_rp[3]="No";
 if ( $o_ch[3]!="OK" )
 {
 $res_rp=mysql_query("REPAIR TABLE $database.$o[0] EXTENDED;");
 $o_rp=mysql_fetch_row();
 }
 $res_op=mysql_query("OPTIMIZE TABLE $database.$o[0] EXTENDED;");
 $o_op=mysql_fetch_row();
 echo "$o[0] CHECK:$o_ch[3] REPAIR: $o_rp[3], OPTIMIZE: $o_op[3]\n";
}

print "База данных ".$database." проверенна и оптимизированна.<br>\n";
?>

jakal

Автор темы
Аватара пользователя
Комментатор
 
Сообщения: [ 154 ]
Зарегистрирован: 26 фев 2011, 22:09
Благодарил (а): 2 раз.
Поблагодарили: 4 раз.

Вернуться в PHP и базы данных

Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей

cron