Actualmente usamos varios CMS para construir una página web y muchas veces dedicamos varias horas al diseño del sitio, pero poco tiempo a la optimización de la base de datos MySQL. Y es aquí donde vienen los problemas. Si quieres tener una base de datos limpia y rápida, no dejes de leer este artículo, porque lo haremos de forma sencilla para que cualquier usuario pueda realizarlo.

¿Cuándo empiezan los problemas?

Seguramente los primeros meses la base de datos no tendrá problemas, pero una vez que las tablas superen los 10.000 registros comenzarán los problemas: búsquedas lentas o no podremos hacer ALTER TABLE. Por este motivo, desde Neoteo te vamos a dar unos consejos para que mantengas las tablas de tu base de datos optimizadas, realizando un simple mantenimiento que no requiere ningún conocimiento de programación.

Optimización básica con phpMyAdmin

Para ingresar a las tablas de la base, tendremos que entrar al servidor (vía Panel de Control) e ingresar al «phpMyAdmin».

En la parte izquierda del panel veremos las bases de datos disponibles; al seleccionar la nuestra, a la derecha observaremos todas sus tablas.

Como Optimizar bases de datos MySQL
Ahora seleccionamos la base de datos en la parte izquierda del panel.

Uno de los pasos más sencillos pero eficaces que tendremos que hacer de forma habitual es seleccionar todas las tablas y realizar la acción «Optimizar la tabla». Las tablas se optimizarán y se eliminará toda la basura. En este caso observamos cómo la base de datos pesaba 231 MB.

Como Optimizar bases de datos MySQL
En este caso observamos cómo la base de datos pesaba 231 MB.

Y luego de la optimización se ha reducido el tamaño a 193 MB (esta base de datos llevaba una semana sin optimizarse).

Como Optimizar bases de datos MySQL
Y luego de la optimización se ha reducido el tamaño a 193 MB.
Como Optimizar bases de datos MySQL
Seguramente los primeros meses o años, la base de datos no tendrá problemas, pero una vez que las tablas superen los 10.000 registros comenzarán los problemas.
Como Optimizar bases de datos MySQL
phpMyAdmin

Comprobar la mejora con Pingdom

En este momento podemos ver cómo la web funciona con mucha más rapidez y las búsquedas se hacen casi de forma instantánea. Si le hacemos un ping al dominio podemos observar la optimización realizada. Para ello nos dirigimos a la página Pingdom y realizamos el «Full Page Test» al dominio.

Como Optimizar bases de datos MySQL
Full Page Test
Como Optimizar bases de datos MySQL
Luego de la optimización

Eliminar tablas en desuso

Otro punto importante, pero a la vez muy delicado, es eliminar las tablas que están en desuso. Por ejemplo, tanto en Joomla como en WordPress utilizamos diferentes extensiones (componentes, módulos o plugins) que vamos eliminando con el tiempo. En este caso lo ideal es eliminar estas tablas, que están ocupando espacio sin ninguna utilidad.

Antes de limpiar: haz una copia de seguridad

Al ser un trabajo que no tiene retorno, realizaremos un respaldo de las tablas. Para ello seleccionamos las tablas y elegimos la acción «Exportar» y respaldamos las tablas en formato «SQL».

Como Optimizar bases de datos MySQL
Exportar

De esta manera estamos resguardados por si eliminamos una tabla en uso. Para restaurarlas solo tendremos que «Importar» las tablas a la base de datos.

Como Optimizar bases de datos MySQL
Importar

Por ejemplo, si vamos a la tabla «user», podemos eliminar todos los usuarios basura o que están en desuso.

Como Optimizar bases de datos MySQL
Por ejemplo, si vamos a la tabla «user».

Un ejemplo práctico con Joomla

Si tenemos una página hecha en Joomla y hace tiempo utilizamos el componente «Kunena» (componente para realizar foros), pero ya se encuentra desinstalado hace tiempo, podemos seleccionar todas las tablas de «Kunena» y eliminarlas. En este caso «a7ryd_» es el prefijo de la tabla y «kunena_categories» el contenido, es decir, las categorías del foro Kunena. Esta acción la podemos repetir con diferentes plugins o templates, entre otras extensiones o posts.

Como Optimizar bases de datos MySQL
En este caso «a7ryd_» es el prefijo de la tabla y «kunena_categories» el contenido, es decir, las categorías del foro Kunena.

Resultado final

Con este trabajo realizado mantendremos nuestra base de datos totalmente limpia, optimizada y sin necesidad de recurrir a profesionales con conocimiento de base de datos. Eso sí, no te dejes estar en el mantenimiento de las tablas.