Una de las prácticas que ayudará a mejorar el rendimiento y velocidad de respuesta de un sitio web, es el mantenimiento de las Bases de Datos, el continuo insertar y borrar datos las va fragmentando y haciendo cada vez más grandes, causando que las consultas SQL sean más lentas.

MySQL Database Optimizar Base de datos
MySQL Logo

La forma usual de optimizar las tablas de bases de datos MySQL o MariaDB, es entrar al phpMyAdmin y hacer el debido proceso, sin embargo, este método quita demasiado tiempo teniendo en cuenta que puede hacerse en un único proceso desde la línea de comandos, bien remotamente con una conexión SSH o automatizarlo añadiendo la tarea al crontab.

Los pasos son muy sencillos, si deseas hacerlo remotamente, es necesaria una conexión SSH, Putty es un cliente SSH recomendable (pueden descargar putty aquí), funciona en todas las plataformas Windows y no requiere instalación.

Para optimizar Bases de datos MySQL y MariaDB desde la línea de comandos, ejecuta este comando:

mysqlcheck -u usuario_basedatos -ppassword -o nombre_basedatos

Notese que el -ppassword va JUNTO, es decir, que la contraseña de la Base de Datos debe ir pegada a la opción -p

El comando anterior (válido para Windows y Linux), optimizará automáticamente todas las tablas de la base de datos especificada, si deseas agregarlo como tarea programada al crontab (sólo en linux), algo como esto deberá funcionar (en este ejemplo, la tarea se ejecutará cada día a las 0:15 hrs).

15 0 * * * mysqlcheck -u usuario_basedatos -ppassword -o nombre_basedatos >/dev/null 2>&1

Espero que les resulte últil, saludos desde México, DaxMX.

Nota: Artículo actualizado del original escrito en 2011 en dasumo.com

2 comentarios
  1. Justo lo que estaba buscando. Muchas gracias por el post.

  2. Neo

    Gracias, la opción de crear una tarea programada en linux para automatizar la optimización de todas las bases de datos es realmente útil, como consejo creen una cuenta especial para eso y que tenga acceso a todas las bases de datos en el servidor, Neo.