🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo optimizar tablas en MySQL para PrestaShop en Plesk

Actualizado el 31 de octubre de 2025

Introducción: La importancia de mantener las tablas de tu tienda optimizadas

Si tienes una tienda online con PrestaShop alojada en un panel Plesk, probablemente ya sabes que el rendimiento de la base de datos es clave para la velocidad de carga y la experiencia de usuario. Con el tiempo, las tablas de MySQL se fragmentan, se acumulan registros innecesarios y las consultas se vuelven lentas. Esto puede provocar tiempos de carga elevados, pérdida de ventas y una mala puntuación en motores de búsqueda.

En este artículo te explicaré paso a paso cómo optimizar tablas MySQL PrestaShop desde Plesk, de forma segura y sin necesidad de ser un experto en bases de datos. Además, te daré consejos prácticos para mantener el rendimiento de tu tienda a largo plazo.


¿Qué significa optimizar tablas en MySQL y por qué es crucial para PrestaShop?

Cuando tu tienda PrestaShop recibe pedidos, gestiona clientes, actualiza stocks o registra visitas, la base de datos se llena de datos temporales, revisiones y fragmentos. Con el tiempo, las tablas se desorganizan físicamente en el disco. La operación OPTIMIZE TABLE reorganiza el almacenamiento, libera espacio y reconstruye índices, mejorando la velocidad de las consultas.

Beneficios directos:

  • Reducción del tiempo de carga de páginas.
  • Menor consumo de recursos del servidor.
  • Mayor fiabilidad en backups y restauraciones.
  • Mejor experiencia de usuario y SEO.

[WARNING] No optimices tablas mientras la tienda esté recibiendo pedidos activos. Programa estas tareas en horarios de baja afluencia.


Requisitos previos antes de optimizar en Plesk

Antes de lanzarte a ejecutar comandos, asegúrate de tener lo siguiente:

  1. Acceso a Plesk con permisos de administrador o de gestión de bases de datos.
  2. Credenciales de la base de datos de PrestaShop (usuario, contraseña, nombre de la BD). Las encuentras en el archivo app/config/parameters.php de tu instalación.
  3. Una copia de seguridad reciente de la base de datos. Nunca está de más tener un respaldo por si algo sale mal.
  4. Herramienta phpMyAdmin o acceso a la consola de MySQL desde Plesk.

[TIP] Si usas Syspanel (HestiaCP) en lugar de Plesk, el proceso es similar, pero accedes por el puerto 2106. En ese caso, busca la sección "Bases de Datos" dentro del panel.


Método 1: Optimizar tablas desde phpMyAdmin en Plesk (recomendado para principiantes)

Esta es la forma más visual y segura. Sigue estos pasos:

Paso 1: Accede a phpMyAdmin desde Plesk

  • Inicia sesión en Plesk.
  • Ve a "Bases de datos" en el menú lateral.
  • Localiza la base de datos de tu PrestaShop (normalmente tiene un nombre como prestashop_XXXX).
  • Haz clic en el nombre de la base de datos y luego en "phpMyAdmin".

Paso 2: Selecciona todas las tablas

  • En phpMyAdmin, verás una lista de tablas a la izquierda.
  • Marca la casilla superior (junto a "Tabla") para seleccionar todas las tablas.

Paso 3: Elige la opción "Optimizar tabla"

  • En el menú desplegable que aparece debajo de la lista (justo encima de las tablas), selecciona "Optimizar tabla".
  • Confirma la acción. phpMyAdmin ejecutará el comando OPTIMIZE TABLE para cada tabla.

Paso 4: Verifica el resultado

  • Aparecerá un mensaje de éxito o error para cada tabla. Si todo está bien, verás "OK" o "Table is already up to date".

[INFO] Si alguna tabla es de tipo InnoDB, es posible que no se optimice completamente desde phpMyAdmin. En ese caso, usa el método de consola que te explico más adelante.


Método 2: Optimizar desde la línea de comandos de MySQL (más rápido y completo)

Si te sientes cómodo con comandos básicos, esta opción es más eficiente, especialmente para bases de datos grandes.

Paso 1: Conéctate a MySQL desde Plesk

  • En Plesk, ve a "Herramientas y configuraciones" > "Acceso SSH" (si está habilitado) o usa la terminal integrada.
  • También puedes conectarte desde tu propio ordenador usando un cliente como MySQL Workbench.

Paso 2: Ejecuta el comando de optimización

Una vez conectado, escribe:

USE nombre_de_tu_base_de_datos;
OPTIMIZE TABLE nombre_de_tabla;

Pero para optimizar todas las tablas de una vez, puedes usar este script:

SELECT CONCAT('OPTIMIZE TABLE ', TABLE_NAME, ';') AS query
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'nombre_de_tu_base_de_datos'
  AND ENGINE IS NOT NULL;

Copia las líneas generadas y pégalas en la consola. O aún mejor, ejecuta directamente:

mysqlcheck -u usuario -p --optimize --databases nombre_de_tu_base_de_datos

(Te pedirá la contraseña del usuario de la BD).

[WARNING] No uses --optimize en tablas MyISAM si tienes tablas InnoDB; el comando mysqlcheck maneja ambos motores correctamente, pero es más seguro hacerlo tabla por tabla si tienes dudas.


Método 3: Automatizar la optimización con un cron job en Plesk

Para que no tengas que acordarte cada mes, puedes programar una tarea automática.

Paso 1: Crea un script PHP o Bash

Crea un archivo, por ejemplo optimizar_prestashop.sh, con este contenido:

#!/bin/bash
DB_USER="tu_usuario"
DB_PASS="tu_contraseña"
DB_NAME="nombre_de_tu_base_de_datos"
mysqlcheck -u $DB_USER -p$DB_PASS --optimize --databases $DB_NAME

Paso 2: Sube el script a tu servidor

Usa el administrador de archivos de Plesk para subirlo a una carpeta como /var/www/vhosts/tudominio.com/scripts/.

Paso 3: Programa el cron job

  • En Plesk, ve a "Herramientas y configuraciones" > "Programador de tareas".
  • Crea una nueva tarea: elige "Ejecutar un comando", escribe la ruta completa del script (ej. /bin/bash /var/www/vhosts/tudominio.com/scripts/optimizar_prestashop.sh).
  • Programa la frecuencia: una vez al mes (por ejemplo, el primer domingo a las 3:00 AM).

[TIP] Asegúrate de que el script tenga permisos de ejecución (chmod +x). También puedes usar un script PHP que llame a mysqli para mayor control.


Consejos adicionales para mejorar el rendimiento de PrestaShop en Plesk

Optimizar tablas es solo una parte de la ecuación. Aquí tienes más prácticas recomendadas:

1. Activa la caché de PrestaShop

  • Ve a Parámetros avanzados > Rendimiento en el backoffice.
  • Activa "Caché" y elige "Sistema de archivos" o "Memcached" si tu servidor lo soporta.

2. Limpia registros y tablas temporales

  • Usa módulos como "PrestaShop Cleaner" para eliminar logs antiguos, carritos abandonados y revisiones de productos.

3. Configura MySQL correctamente en Plesk

  • En Plesk, ve a "Herramientas y configuraciones" > "Configuración del servidor de bases de datos".
  • Aumenta valores como innodb_buffer_pool_size (recomendado: 70% de la RAM disponible para BD) y query_cache_size (si usas MySQL 5.7 o anterior).

4. Usa índices adecuados

  • Revisa las consultas lentas con el "Slow Query Log" de MySQL y agrega índices a las columnas que más se usan en búsquedas (por ejemplo, id_product, date_add).

5. Migra a MySQL 8 o MariaDB 10.6+

  • Las versiones modernas tienen mejoras de rendimiento nativas para tablas InnoDB.

[INFO] Si tu tienda tiene mucho tráfico, considera usar un plugin de caché como "Nginx FastCGI Cache" o "Redis" desde Plesk.


Preguntas frecuentes (FAQ)

¿Cada cuánto debo optimizar las tablas de PrestaShop?

Depende del volumen de transacciones. Para tiendas pequeñas (menos de 1000 pedidos al mes), una vez al mes es suficiente. Para tiendas grandes (más de 5000 pedidos), cada semana o quincena.

¿Puedo optimizar tablas mientras la tienda está en funcionamiento?

Sí, pero es recomendable hacerlo en horas de bajo tráfico (madrugada) y nunca durante picos de ventas. La operación bloquea las tablas brevemente.

¿Qué hago si phpMyAdmin muestra un error al optimizar?

Generalmente es por tablas InnoDB que no se pueden optimizar en caliente. Prueba con el comando mysqlcheck desde consola o usa ALTER TABLE nombre_tabla ENGINE=InnoDB; para forzar la reorganización.

¿Optimizar tablas mejora el SEO?

Sí, indirectamente. Un sitio más rápido tiene mejor posicionamiento en Google, menor tasa de rebote y mayor conversión.

¿Syspanel (HestiaCP) tiene alguna herramienta similar?

Sí, en Syspanel (HestiaCP) accedes por el puerto 2106 y dentro de la sección "Bases de Datos" puedes usar phpMyAdmin de forma similar. El proceso es idéntico.

¿Qué pasa si no optimizo nunca la base de datos?

Con el tiempo, las consultas se ralentizan, el panel de administración de PrestaShop se vuelve lento, y pueden aparecer errores de timeout en páginas de productos o categorías.


Conclusión

Optimizar las tablas de MySQL para PrestaShop desde Plesk es una tarea sencilla que puede marcar una gran diferencia en el rendimiento de tu tienda. Ya sea usando phpMyAdmin, la línea de comandos o automatizando con cron jobs, lo importante es hacerlo de forma regular.

Recuerda que una base de datos limpia y organizada es sinónimo de velocidad, estabilidad y mejor experiencia de usuario. No descuides este mantenimiento básico y tu tienda te lo agradecerá con más ventas y mejor posicionamiento en buscadores.

Si tienes dudas, revisa siempre la documentación oficial de PrestaShop o consulta con tu proveedor de hosting. ¡Buena suerte con tu optimización!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel