Оптимизация всех таблиц БД MySQL
Чтобы объединить фрагментированные записи и избавиться от потерь пространства, происходящих из-за удаления и обновления записей необходимо воспользоваться командой MySQL OPTIMIZE TABLE. Здесь представлена универсальная процедура оптимизации всех таблиц базы данных.
<?php
$db_host = '127.0.0.1';
$db_user = 'mysql';
$db_pass = 'mysql_password';
$db_name = 'myBase'
set_time_limit(0);
mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error() . "\n\n");
mysql_select_db($db_name) or die(mysql_error() . "\n\n");
$r = mysql_query("SHOW TABLES");
$q = "LOCK TABLES";
while($row = mysql_fetch_row($r))
{
$table[] = $row[0];
$q .= " " . $row[0]." WRITE,";
}
$q = substr($q,0,strlen($q)-1);
mysql_query($q);
print "База данных заблокированна для чтения/записи.<br>\n";
foreach($table as $value)
{
$q = "OPTIMIZE TABLE ".$value;
print $q; flush();
mysql_query($q) or die("QUERY: \"$q\" " . mysql_error() . "\n\n");
}
mysql_query("UNLOCK TABLES");
print "База данных оптимизированна и разблокированна.<br>\n";
?>
Комментарии:
Нету комментариев для вывода...