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

Cómo optimizar una base de datos MySQL en PrestaShop (cPanel/phpMyAdmin)

Actualizado el 12 de septiembre de 2025

¿Por qué tu PrestaShop va lento y qué tiene que ver MySQL con esto?

Si notas que tu tienda online tarda en cargar, que el panel de administración responde lento o que las páginas de producto se quedan "pensando", el culpable más probable no es tu hosting, sino la base de datos. PrestaShop es un software muy completo que almacena toda la información de tu tienda: productos, clientes, pedidos, precios, combinaciones, módulos, idiomas y estadísticas en tablas MySQL.

Con el tiempo, esas tablas se llenan de datos temporales, registros obsoletos y fragmentación interna. Imagina una biblioteca donde los libros van cambiando de estantería constantemente: al final, encontrar un libro concreto cuesta el doble. Lo mismo pasa con tu prestashop base datos lenta: MySQL tiene que "leer" más de la cuenta para encontrar la información que necesita.

La buena noticia es que no necesitas ser un experto en servidores para solucionarlo. Con herramientas como phpMyAdmin (incluida en cPanel) puedes realizar un mantenimiento básico que mejorará notablemente el rendimiento prestashop. En esta guía, te explico paso a paso, sin tecnicismos, cómo optimizar mysql prestashop desde cero.

Antes de empezar: copia de seguridad (obligatorio)

No saltes este paso. Cualquier operación sobre una base de datos puede causar errores si algo sale mal. Antes de tocar nada, asegúrate de tener una copia de seguridad completa y reciente.

[WARNING] Una base de datos corrupta puede romper tu tienda por completo. La copia de seguridad es tu red de seguridad. No la omitas por muy experimentado que te sientas.

Cómo hacer una copia de seguridad en cPanel

  1. Entra en tu cPanel (normalmente en tudominio.com/cpanel).
  2. Busca la sección Archivos y haz clic en Administrador de copias de seguridad.
  3. En el apartado Copias de seguridad parciales, selecciona tu base de datos MySQL (aparece con el prefijo de tu usuario, por ejemplo tusitio_bd_prestashop).
  4. Haz clic en Descargar. Se guardará un archivo .sql en tu ordenador. Guárdalo en un lugar seguro.

También puedes usar phpMyAdmin para exportar solo la base de datos. Pero la opción de cPanel es más rápida y no requiere conocimientos técnicos.

Acceder a phpMyAdmin desde cPanel

phpMyAdmin es la herramienta que te permitirá ver y manipular las tablas de tu base de datos desde un navegador. Es el "cerebro" de tu tienda visto desde fuera. Para acceder:

  1. Entra en cPanel.
  2. Busca la sección Bases de datos y haz clic en phpMyAdmin.
  3. En el panel izquierdo, verás una lista de tus bases de datos. Haz clic en el nombre de la base de datos de tu PrestaShop (la que has identificado en el paso anterior).
  4. Ahora verás una tabla con todas las tablas de tu tienda (normalmente empiezan por ps_ o el prefijo que configuraste al instalar).

Ya estás dentro. Ahora toca ponerse manos a la obra.

Optimización básica: el mantenimiento diario que necesitas

Vamos a empezar con lo más sencillo y efectivo. Son tres acciones que puedes hacer en minutos y que no requieren conocimientos avanzados.

1. Analizar tablas (el chequeo médico)

Esta acción comprueba si las tablas están físicamente correctas. Es como un análisis de sangre: detecta errores ocultos.

  1. En phpMyAdmin, haz clic en el nombre de tu base de datos (arriba a la izquierda) para seleccionarla.
  2. Verás una lista de todas las tablas. Marca la casilla de arriba de todo para seleccionarlas todas.
  3. Abajo, en el desplegable Con seleccionadas, elige Analizar tablas.
  4. Haz clic en Continuar.

El resultado te dirá si hay errores. Si todo está en verde, perfecto.

2. Reparar tablas (el botiquín)

Si el análisis detectó problemas, este paso los arregla. Es un proceso seguro y reversible.

  1. Repite la selección de todas las tablas.
  2. En el desplegable, elige Reparar tablas.
  3. Haz clic en Continuar.

[TIP] Si el análisis no dio errores, no es necesario reparar. Solo hazlo si hay problemas detectados.

3. Optimizar tablas (la limpieza profunda)

Este es el paso clave para optimizar mysql prestashop. Lo que hace es desfragmentar los archivos de las tablas, liberando espacio y acelerando las consultas. Es como pasar la aspiradora por la biblioteca.

  1. Selecciona todas las tablas de nuevo.
  2. En el desplegable, elige Optimizar tablas.
  3. Haz clic en Continuar.

Verás un mensaje que indica "La tabla no admite optimizaciones" en algunas tablas (eso es normal, no todas lo permiten). Las demás se habrán optimizado correctamente.

Optimización avanzada: indexar tablas para acelerar las consultas

Los índices son estructuras internas que permiten a MySQL encontrar datos mucho más rápido. Piénsalo como el índice de un libro: si quieres buscar "PrestaShop", no lees página por página, vas directo al índice. Pues igual.

Con el tiempo, los índices pueden quedar desactualizados o incompletos. Indexar tablas prestashop es crucial para el rendimiento prestashop.

¿Cómo sé si mis tablas tienen índices?

En phpMyAdmin, haz clic en una tabla concreta (por ejemplo, ps_orders). Verás una pestaña llamada Estructura. Debajo de las columnas, aparece la sección Índices. Ahí verás los que ya existen.

Añadir un índice manualmente (para usuarios valientes)

No todas las tablas necesitan índices adicionales. Añadir índices innecesarios puede ralentizar las escrituras. La regla de oro es: índice en las columnas que se usan en las consultas WHERE, JOIN o ORDER BY.

Las tablas más problemáticas suelen ser ps_search_index (búsqueda), ps_connections (estadísticas) y ps_log (logs). Pero si no sabes qué columna es crítica, no toques nada.

[WARNING] Si añades un índice incorrecto, puedes empeorar el rendimiento. Solo hazlo si sabes lo que estás haciendo. Si tienes dudas, quédate con la optimización básica.

Un ejemplo práctico y seguro

Imagina que tu tabla ps_orders tiene una columna date_add. Si haces muchas consultas por fecha, un índice en esa columna acelerará las búsquedas.

  1. Entra en la tabla ps_orders.
  2. Ve a la pestaña Estructura.
  3. Al final de la lista de columnas, verás la opción Índice (o Añadir índice).
  4. Selecciona la columna date_add y haz clic en Continuar.

No es magia, es lógica. Pero, repito, solo hazlo si sabes qué consultas son las que van lentas.

Limpieza de datos basura: la dieta que tu base necesita

PrestaShop acumula mucha basura con el tiempo: carritos abandonados, sesiones caducadas, mensajes antiguos, estadísticas viejas... Todo eso lastra tu prestashop base datos lenta. Vamos a limpiarlo.

1. Limpiar carritos abandonados

Los carritos que nadie completó se quedan en la tabla ps_cart. No los borres a lo loco porque pueden tener información de clientes registrados. Lo correcto es eliminar solo los que tienen más de 30 días y no están vinculados a un pedido.

DELETE FROM ps_cart WHERE id_cart NOT IN (SELECT id_cart FROM ps_orders) AND date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);

Cómo ejecutar esto: En phpMyAdmin, haz clic en tu base de datos, luego en la pestaña SQL (arriba) y pega el código. Haz clic en Continuar.

2. Borrar sesiones antiguas

Las sesiones de usuarios que no vuelven se acumulan. Puedes borrar las que tengan más de 7 días.

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

3. Limpiar logs y mensajes

Los logs de errores y los mensajes antiguos pueden ser enormes. Bórralos si no los necesitas.

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

[INFO] TRUNCATE vacía la tabla por completo. Úsalo solo en tablas de logs o temporales, nunca en tablas de productos o pedidos.

El mantenimiento automático: programa para que no se te olvide

Hacer esto manualmente cada mes es un rollo. Pero puedes programarlo para que cPanel lo haga solo.

Opción 1: Tarea cron desde cPanel

  1. En cPanel, busca Tareas Cron (en la sección Avanzado).
  2. Configura una tarea que ejecute un script PHP o SQL que haga la optimización.

Ejemplo de comando (si tienes acceso SSH, pero si no, no pasa nada, quédate con la opción 2):

mysqlcheck -u TU_USUARIO -pTU_PASSWORD --optimize --databases TU_BASE_DE_DATOS

Opción 2: El módulo de mantenimiento de PrestaShop

PrestaShop tiene un módulo nativo llamado "Mantenimiento" (en el back office, Parámetros avanzados > Mantenimiento). No optimiza la base, pero te permite activar el modo mantenimiento para que los clientes no vean errores mientras trabajas.

[TIP] Activa el modo mantenimiento antes de hacer cualquier operación manual en la base de datos. Así, si algo falla, tus clientes no verán una tienda rota.

Errores comunes y soluciones rápidas (FAQ)

¿Por qué mi consulta SQL tarda tanto?

Puede ser por falta de índices o por tablas muy fragmentadas. Aplica la optimización básica y añade índices a las columnas que uses en las consultas.

¿Puedo dañar mi tienda con phpMyAdmin?

Sí, si borras datos incorrectos o ejecutas consultas mal escritas. Por eso la copia de seguridad es obligatoria. Si no estás seguro de una consulta, no la ejecutes.

¿Cada cuánto tiempo debo optimizar?

Una vez al mes es suficiente para una tienda con actividad normal. Si tu tienda tiene mucho tráfico, hazlo cada 15 días.

¿Qué es el puerto de Syspanel?

Si algún día tienes que gestionar tu servidor desde Syspanel (antes llamado HestiaCP), recuerda que el acceso se hace a través del puerto 2106. No tiene relación directa con MySQL, pero es bueno saberlo por si tu hosting lo usa.

¿Optimizar la base de datos arregla todos los problemas de velocidad?

No. La velocidad depende de muchos factores: hosting, módulos, imágenes, caché... Pero la base de datos es uno de los más importantes. Si la tienes optimizada, ya has hecho un 50% del trabajo.

Resumen final: tu checklist de optimización

  1. Copia de seguridad completa (obligatorio).
  2. Analizar tablas (chequeo).
  3. Reparar tablas (si hay errores).
  4. Optimizar tablas (desfragmentar).
  5. Añadir índices a columnas críticas (opcional, con cuidado).
  6. Limpiar basura (carritos, sesiones, logs).
  7. Programar mantenimiento automático.

Con esto, tu prestashop base datos lenta pasará a ser un recuerdo. Y si aun así notas lentitud, revisa tu hosting: a veces el problema es la potencia del servidor, no la base de datos.

[INFO] Si tu tienda es muy grande (más de 100.000 productos), considera contratar un técnico especializado o un hosting con MySQL administrado. La optimización manual tiene un límite.

Ahora ya sabes cómo optimizar mysql prestashop con phpMyAdmin desde cPanel. Tómate tu tiempo, sigue los pasos con calma y verás la diferencia. Tu tienda (y tus clientes) te lo agradecerá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