destacados

Gabriel Da Silva

Portafolio del ilustrador y director de arte brasileño, aunque afincado en Madrid, Gabriel Da Silva.

B&W Helmut Newton

Selección de fotografías en blanco y negro de uno de los fotógrafos más conocidos de las últimas décadas, Helmut Newton.

Judith Erwes

Fotógrafa afincada en Londres con un estilo que combina la moda, el humor y la estética retro.

Jody Rogac

Nacida en Inglaterra y criada en Canadá, Jody Rogac en la actualidad vive y trabaja en Brooklyn. Sus trabajo ha obtenido diversos galardones.

Publicaciones

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

, , 02/01/2009 00:00:00

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.
Páginas: 1
comentarioscomentarios