Optimizar la base de datos mysql automáticamente

Optimizar la base de datos de una web es esencial para mantener el funcionamiento de forma óptima y conseguir un mejor tiempo de respuesta a las consultas mysql. Esta tarea se puede hacer directamente desde aplicaciones como PHPMyAdmin. ¿Y si pudieras optimizar tu base de datos de forma automática? Eso es lo que vamos a hacer aquí, vamos a ver un script php que optimiza todas las tablas de una base de datos mysql. Luego añadiremos este script a un cron job para que se ejecute automáticamente y así conseguiremos que nuestra base de datos esté siempre optimizada sin tener que preocuparnos de ello.

El script php para optimizar la base de datos mysql

Con este sencillo script se optimizarán todas las tablas de tu base de datos. Sólo recuerda cambiar las variables correspondientes (servidor, nombre de la base de datos, contraseña, etc) con tus datos de conexión a la base de datos.

<?php
  $servidor = "localhost";
  $usuario  = "mysql_usuario";
  $password = "mysql_password";
  $nombrebd = "mysql_nombre_base_datos";
 
  $link = mysql_connect($servidor, $usuario, $password);
 
 if(!$link) {
    die('No se pudo conectar: ' . mysql_error());
  }
 
  $db_selected = mysql_select_db($nombrebd, $link);
 
  if(!$db_selected) {
    die ('No se puede usar '.$nombrebd.': ' . mysql_error());
  }
 
  //Buscar todas las tablas de la base de datos seleccionada
 
  $todaslastablas = mysql_query("SHOW TABLES");
 
  //Proceso de optimizar todas las tablas
  echo "Optimizando base de datos, comienzo: ".Date("m/d/Y H:i:s")."<br/>\r\n";
  while ($tabla = mysql_fetch_assoc($todaslastablas))
  {
    foreach ($tabla as $db => $nombretabla)
    {    
      mysql_query("OPTIMIZE TABLE ".$nombretabla) or die(mysql_error());
    }
  }
 
  mysql_close($link);
  echo "Optimizando base de datos, fin: ".Date("m/d/Y H:i:s")."<br/>\r\n";
?>

Ahora guarda este script en un archivo php y súbelo a tu servidor. Añade un cron job y listo, el script se ejecutará automáticamente y optimizará la base de datos. La periodicidad del cron job dependerá de la actividad de tu sitio, si las bases de datos no se actualizan muy a menudo, ejecutar el cron job semanal o mensualmente será suficiente. Yo lo tengo diariamente y por la noche, cuándo hay pocas visitas a mi web. Si no sabes poner un cron job para que ejecute automáticamente un script php lee el siguiente artículo: cron job para ejecutar un script php.



Comentarios (0)

Smileys

:confused::cool::cry::laugh::lol::normal::blush::rolleyes::sad::shocked::sick::sleeping::smile::surprised::tongue::unsure::whistle::wink: