Регламентное обслуживание всех таблиц БД MySQL
Выдаем команду CHECK по всем таблицам базы последовательно, если в результате этого запроса будет содержаться негативный результат, то запускается операция восстановления базы (REPAIR). После того, как выполнена проверка таблицы, проводится ее оптимизация.
$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";
.
Прокомментировать/Отблагодарить