Cuando una base de datos empieza a tener un tamaño considerable es muy aconsejable mantener sus tablas en buen estado. En este artículo explicamos cómo reparar y optimizar bases de datos MySQL, en modo gráfico y por línea de comandos.
En otros artículos ya hemos tratado temas relacionados con las bases de datos, por ejemplo el de cómo importar y exportar bases de datos MySQL desde consola o el de cómo conectar a MySQL desde PHP.
Antes de empezar, es muy importante que, para curarnos en salud, hagamos una copia de seguridad de la base de datos.
Modo gráfico
Para reparar y optimizar tablas de las bases de datos de forma gráfica usaremos la herramienta phpMyAdmin. Desde la vista de tablas, seleccionaremos todas aquellas que nos interese y marcaremos la opción de Reparar la Tabla:
Panel de control phpMyAdmin
A continuación, veremos un mensaje del resultado. El siguiente paso es optimizar la base de datos. El procedimiento es el mismo, pero seleccionando la opción Optimizar la tabla.
Consola de comandos
Desde la consola de comandos de Linux tenemos disponible la herramienta mysqlcheck. Para usar este comando podemos hacer lo siguiente, según qué queramos conseguir:
//Optimización de todas las bases de datos
mysqlcheck -o --all-databases
//Análisis y reparación de todas las bases de datos
mysqlcheck --all-databases -r
//Análisis y reparación de las bases de datos que indiquemos
mysqlcheck -r nombre_bbdd
A parte de estos comandos, la herramienta mysqlcheck nos ofrece multitud de opciones. La estructura básica es la siguiente:
mysqlcheck [opciones] [nombre_bbdd [nombre_tabla …]]
Para obtener más información podemos consultar el manual de referencia de MySQL.
¿Por qué o para qué hacer esto?
Todo esto está muy bien, pero… ¿para qué voy a querer reparar y/o optimizar mis bases de datos? Al principio de este artículo hemos comentado que es aconsejable realizar este mantenimiento cuando una base de datos empieza a crecer considerablemente, pero ¿por qué?
Si llevas tiempo trabajando con bases de datos, es posible que alguna vez te hayas encontrado con algún mensaje parecido a:
«table marked as crashed and should be repaired»
Esto significa que la tabla se ha «roto» o corrompido. Esto puede pasar por un fallo en el disco duro, por un reinicio súbito del servidor, por problemas con el firmware de la BIOS y por varios motivos más.
Cuando tenemos un problema de este tipo, hemos de intentar lanzar una reparación de la base de datos tal y como hemos explicado.
En el caso de la optimización, ésta es necesaria del mismo modo que nuestro disco duro necesita ser desfragmentado de vez en cuando. El flujo de información en una gran base de datos suele ser constante, por lo tanto, ésta debe de ser organizada de forma óptima.
Lo que hacen los comandos de optimización de base de datos es reorganizar el almacenamiento físico de los datos de las tablas y sus índices asociados, de este modo se reduce el espacio que necesitan y mejora considerablemente las consultas y el tiempo de acceso a la información.
Si la base de datos de tu página web guarda mucha información, puedes contratar nuestro servicio de mantenimiento web, con el que toda tu información siempre estará en el mejor estado sin que tengas que preocuparte de nada.