AAA Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Оптимизация всех таблиц БД MySQL

Чтобы объединить фрагментированные записи и избавиться от потерь пространства, происходящих из-за удаления и обновления записей необходимо воспользоваться командой MySQL OPTIMIZE TABLE. Здесь представлена универсальная процедура оптимизации всех таблиц базы данных.
$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";

.

© Copyright 2008-2017 by KDG