Optimizar todas las tablas de una base de datos MySQL con PHP

1 COMENTARIO -  Publicado hace 14 meses -  Clasificado en: , ,

OPTIMIZE TABLE debe usarse si se ha eliminado gran parte de una tabla o si se han hecho muchos cambios en una tabla con filas de tamaño variable (tablas que contengan columnas VARCHAR, BLOB o TEXT). Optimizar las tablas con este comando no es algo que se deba hacer continuamente, pero sí que es bueno hacerlo de vez en cuando. Con este script podremos optimizar todas las tables de una base de datos. Para automatizar completamente el proceso bastaría con crear una tarea con Cron.

<?php
// VARIABLES DE CONEXION
$server = "localhost";
$dbuser = "usuario";
$dbpassword = "password";
$dbname = "nombre_base_de_datos";
$db = mysql_connect($dbhost, $dbuser, $dbpassword) or die("Connection Error: " . mysql_error());
mysql_select_db($dbname) or die("Error al conectar a la base de datos.");
//EXRAEMOS LAS TABLAS DE LA BASE DE DATOS
$sql = "SHOW TABLES";
$tablas = mysql_query( $sql) or die("No se puede ejecutar la consulta: ".mysql_error());
while ($tabla = mysql_fetch_assoc($tablas)) {
foreach ($tabla as $item => $nombre_tabla) {
echo $nombre_tabla.": ";
//OPTIMIZAMOS LAS TABLAS
mysql_query("OPTIMIZE TABLE ".$nombre_tabla) or die("No se puede ejecutar la consulta: ".mysql_error());
// MOSTRAMOS EL RESULTADO
if (mysql_errno()){
echo " No ha podido ser optimizada.";
}else{
echo "Optimizada.";
}
echo "<br />";
}
}
mysql_close($db);
?>

Lo que nos mostraría, si todo ha ido bien, algo como lo siguiente:

tabla 1: Optimizada.
tabla 2: Optimizada.
tabla 3: Optimizada.
tabla 4: Optimizada.
...............
tabla n: Optimizada.

Algunas entradas relacionadas:

También te puede interesar:

COMENTARIOS

Publicado hace 14 meses
filex -   http://www.juegoslibertad.cl/

Gracias, realmente me ha funcionado despu茅s de mucho buscar.
Haz un comentario

¡Gracias por dejar tu opinión! Por favor procura que tu comentarios sean apropiados respecto al tema tratado en la entrada; que no sean spam, u ofensivos, de otro modo, serán eliminados. Todos los comentarios serán moderados antes de su publicación por lo que su aparición en la web puede verse aplazada un cierto tiempo. Si deseas realizar algún comentario, crítica o sugerencia sobre la propia web puedes hacer a través de la siguiente dirección de correo: webintenta@webintenta.com