Inicio > OpenSource, mysql, php > Optimizar todas las tablas de una base de datos MySQL con PHP

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

Domingo, 4 de Enero de 2009 Juan Jorquera Dejar un comentario Ir a comentarios

Original de WebIntenta.

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.

Comparte !
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • BlinkList
  • email
  • laaik.it
  • Live
  • Meneame
  • MisterWong
  • MyShare
  • Pownce
  • Slashdot
  • StumbleUpon
  • TwitThis
  • Blogosphere News
  • De.lirio.us
  • Technorati

Unique visitors to post: 514

Categories: OpenSource, mysql, php Tags: , ,
  1. Aldo
    Miércoles, 10 de Junio de 2009 a las 20:23 | #1

    mmm. interesante

  2. Cristian
    Viernes, 19 de Junio de 2009 a las 11:31 | #2

    Hola..

    una consulta super breve.. lo que pasa es que quiero realizar un buscador, pero desde un ComboBox, osea me explico quiero cargar el ComboBox los datos desde la base de datos y a la vez al pinchar un campo de esos me muestre todo lo que tenga que ver con el.

    ojala me alla explicado bien.

    Ante mano muchas gracias..

  1. Sin trackbacks aún.