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

Optimizar base de datos MySQL en Plesk para PrestaShop

Actualizado el 22 de noviembre de 2025

¿Tu tienda PrestaShop va lenta? ¿Las páginas tardan una eternidad en cargar y los clientes se van antes de comprar? Uno de los culpables más comunes (y silenciosos) es una base de datos MySQL desordenada. En este artículo te voy a enseñar, paso a paso y sin complicaciones, cómo optimizar MySQL en Plesk para que tu PrestaShop vuele. Hablaremos de índices, tablas, caché y herramientas internas. Prepárate para darle un subidón de rendimiento a tu tienda.

¿Por qué es importante optimizar MySQL en Plesk para PrestaShop?

PrestaShop almacena todo: productos, pedidos, clientes, sesiones, configuraciones… en una base de datos MySQL. Con el tiempo, esa base de datos se llena de registros basura, tablas fragmentadas y consultas lentas. Si no la limpias y optimizas, cada clic de un usuario se traduce en una consulta pesada que ralentiza tu web.

Optimizar MySQL en Plesk no solo acelera la carga de tu tienda, sino que también reduce el consumo de recursos del servidor. Menos CPU, menos RAM y una experiencia de usuario mucho mejor. Además, Google penaliza las webs lentas, así que también mejoras tu SEO.

[INFO] Una base de datos optimizada puede reducir el tiempo de carga de tu PrestaShop hasta en un 40%. No es magia, es mantenimiento.

Antes de empezar: preparativos y seguridad

Antes de tocar nada, haz una copia de seguridad. Una mala optimización puede romper tu tienda. En Plesk es muy sencillo:

  1. Ve a Herramientas y ajustes > Administrador de bases de datos.
  2. Selecciona tu base de datos de PrestaShop.
  3. Haz clic en Exportar y descarga el archivo SQL.

También puedes usar phpMyAdmin (que viene integrado en Plesk) para exportar. Nunca trabajes sin respaldo.

[WARNING] No optimices la base de datos mientras haya usuarios activos en tu tienda. Hazlo en horas de bajo tráfico o pon tu tienda en modo mantenimiento.

Paso 1: Accede a phpMyAdmin desde Plesk

Para optimizar MySQL en Plesk, necesitas entrar a la herramienta de gestión de bases de datos. Sigue estos pasos:

  1. Inicia sesión en tu panel de Plesk.
  2. Ve a Bases de datos en el menú lateral.
  3. Busca la base de datos de tu PrestaShop (suele llamarse algo como prestashop_xxxx).
  4. Haz clic en phpMyAdmin (icono de base de datos con un rayo).

Ya estás dentro. Verás todas las tablas de tu PrestaShop. A partir de aquí, vamos a aplicar varias técnicas de optimización.

Paso 2: Revisa y optimiza las tablas una por una

Las tablas de MySQL se fragmentan con el uso. Optimizarlas las compacta y mejora el rendimiento.

Cómo optimizar tablas manualmente

  1. En phpMyAdmin, selecciona todas las tablas marcando la casilla superior.
  2. En el desplegable Con seleccionadas, elige Optimizar tabla.
  3. phpMyAdmin ejecutará el comando OPTIMIZE TABLE para cada tabla.

Verás un mensaje como OK o Tabla ya optimizada. Repite esto cada mes.

[TIP] Las tablas más importantes de PrestaShop son ps_connections, ps_connections_source, ps_guest y ps_log. Si están muy grandes, tu tienda irá lenta. Limpia los registros antiguos antes de optimizar.

Paso 3: Limpia datos basura de PrestaShop

PrestaShop acumula datos innecesarios: sesiones de visitantes, estadísticas viejas, historial de pedidos cancelados… Vamos a limpiarlos.

Limpiar sesiones caducadas

Las sesiones de usuarios que ya no están activos ocupan espacio. En phpMyAdmin, ejecuta esta consulta SQL:

DELETE FROM ps_connections WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);
DELETE FROM ps_connections_source WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);
DELETE FROM ps_guest WHERE id_guest NOT IN (SELECT id_guest FROM ps_connections);

Ajusta los 30 días según tu criterio. Si tienes mucho tráfico, puedes dejar solo 7 días.

Limpiar logs y estadísticas antiguas

PrestaShop guarda logs de errores y estadísticas de visitas. Para borrar los más viejos:

DELETE FROM ps_log WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);
TRUNCATE TABLE ps_statssearch;

El comando TRUNCATE vacía completamente la tabla de estadísticas de búsqueda, que suele ser muy pesada.

[INFO] No borres datos de pedidos o clientes. Solo afecta a tablas de sesiones, logs y estadísticas temporales.

Paso 4: Usa el modo de mantenimiento de PrestaShop para optimizar

PrestaShop tiene una herramienta interna que puedes activar desde el panel de administración. No necesita acceso a MySQL, pero es muy útil.

  1. Ve a Parámetros de la tienda > Mantenimiento.
  2. Activa Modo mantenimiento.
  3. Ve a Mejorar > Rendimiento.
  4. En la pestaña Base de datos, verás opciones como Optimizar tablas o Limpiar sesiones.

Haz clic en Optimizar y espera. Esta herramienta ejecuta automáticamente varios de los comandos que vimos antes. Es ideal para usuarios sin experiencia.

Paso 5: Añade índices a las tablas más lentas

Los índices aceleran las consultas SELECT. PrestaShop ya trae algunos, pero con el tiempo pueden faltar o estar mal configurados.

Cómo identificar tablas sin índices

En phpMyAdmin, ve a la pestaña SQL y ejecuta:

SHOW TABLES;

Luego, para cada tabla que quieras revisar, ejecuta:

SHOW INDEX FROM nombre_tabla;

Si ves que una tabla no tiene índices en columnas usadas en WHERE o JOIN, puedes añadirlos.

Índices recomendados para PrestaShop

Ejecuta estas consultas (ajusta el prefijo ps_ si tu base usa otro):

ALTER TABLE ps_product ADD INDEX idx_id_category_default (id_category_default);
ALTER TABLE ps_category_product ADD INDEX idx_id_category (id_category);
ALTER TABLE ps_customer ADD INDEX idx_email (email);
ALTER TABLE ps_orders ADD INDEX idx_reference (reference);

No añadas índices de más porque ralentizan las inserciones. Con estos es suficiente.

[WARNING] Si no sabes qué índices poner, mejor no toques nada. Un índice mal añadido puede empeorar el rendimiento.

Paso 6: Configura el motor de almacenamiento InnoDB

PrestaShop funciona mejor con InnoDB que con MyISAM. InnoDB soporta transacciones y bloqueo a nivel de fila, lo que mejora el rendimiento en tiendas con muchos pedidos.

Verifica el motor de tus tablas

En phpMyAdmin, ve a la pestaña Estructura de tu base de datos. Verás una columna Motor. Si ves MyISAM, cámbialo a InnoDB.

Para cambiar una tabla:

ALTER TABLE nombre_tabla ENGINE=InnoDB;

Puedes hacerlo para todas las tablas de PrestaShop. Ejecuta este script (reemplaza tu_base por el nombre de tu base):

SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' ENGINE=InnoDB;') 
FROM information_schema.TABLES 
WHERE TABLE_SCHEMA = 'tu_base' AND ENGINE = 'MyISAM';

Luego copia y pega los resultados.

[TIP] Si tu servidor tiene poca RAM, InnoDB puede consumir más memoria. Ajusta los parámetros de InnoDB en el archivo de configuración de MySQL (my.cnf) si es necesario.

Paso 7: Ajusta los parámetros de MySQL en Plesk

Plesk permite modificar la configuración de MySQL desde su panel. Esto es clave para PrestaShop.

Cómo acceder a la configuración de MySQL en Plesk

  1. Ve a Herramientas y ajustes > Configuración del servidor de bases de datos.
  2. Verás opciones como max_connections, query_cache_size, innodb_buffer_pool_size.

Parámetros recomendados para PrestaShop

  • query_cache_size: 64 MB (ayuda a cachear consultas repetitivas).
  • innodb_buffer_pool_size: 70-80% de la RAM disponible si tu base es grande.
  • max_connections: 150-200 (depende del tráfico).
  • tmp_table_size y max_heap_table_size: 64 MB cada uno.

Guarda los cambios y reinicia MySQL desde el mismo panel.

[WARNING] No subas estos valores al máximo sin conocer tu servidor. Un valor demasiado alto puede consumir toda la RAM y colapsar el sistema.

Paso 8: Programa tareas de optimización automáticas

No querrás hacer esto a mano cada mes. Plesk permite programar tareas CRON.

Crear un script de optimización

Crea un archivo llamado optimizar_mysql.sh con este contenido:

#!/bin/bash
mysqlcheck -u usuario -pcontraseña --optimize --all-databases

Reemplaza usuario y contraseña por los de tu base de datos.

Programar la tarea en Plesk

  1. Ve a Herramientas y ajustes > Programador de tareas.
  2. Añade una nueva tarea.
  3. Elige Ejecutar un comando y escribe la ruta al script (ej: /home/optimizar_mysql.sh).
  4. Programa para que se ejecute cada mes (por ejemplo, el primer día del mes a las 3:00 AM).

[INFO] Si usas Syspanel (HestiaCP) en lugar de Plesk, el puerto de acceso es el 2106 y la configuración de MySQL se hace desde el panel de administración de Syspanel. El proceso es similar: busca "Bases de datos" y luego "phpMyAdmin".

Preguntas frecuentes (FAQ) sobre optimizar MySQL en Plesk para PrestaShop

¿Cada cuánto debo optimizar la base de datos?

Recomiendo hacer una optimización completa cada 30 días. Si tu tienda tiene mucho tráfico, cada 15 días.

¿Puedo optimizar sin phpMyAdmin?

Sí, desde la línea de comandos SSH puedes usar mysqlcheck. Pero phpMyAdmin es más visual y seguro para principiantes.

¿Qué hago si la optimización falla?

Revisa los logs de MySQL en Plesk (Herramientas y ajustes > Registros). Si el error persiste, restaura la copia de seguridad que hiciste al principio.

¿Afecta la optimización a los pedidos en curso?

No, siempre que no borres tablas de pedidos. Solo afecta a sesiones, logs y estadísticas.

¿Mi hosting compartido permite optimizar MySQL?

Sí, la mayoría de hostings con Plesk permiten acceso a phpMyAdmin y a la configuración de MySQL. Si no, contacta con tu proveedor.

Conclusión: tu PrestaShop merece una base de datos optimizada

Optimizar MySQL en Plesk para PrestaShop no es complicado. Con los pasos que te he dado –limpiar tablas, añadir índices, ajustar parámetros y programar tareas– tu tienda cargará mucho más rápido. Los clientes notarán la diferencia y Google también.

Recuerda: la clave está en la constancia. No basta con hacerlo una vez. Programa recordatorios mensuales y tu PrestaShop se mantendrá siempre ágil.

Si tienes dudas, deja un comentario o consulta con tu soporte técnico. ¡Manos a la obra y a optimizar!

¿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