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

Cómo optimizar una base de datos de PrestaShop desde phpMyAdmin

Actualizado el 17 de junio de 2026

¿Por qué es tan importante optimizar la base de datos de PrestaShop?

Si tu tienda online va lenta, tarda en cargar los productos o incluso da errores aleatorios, es muy probable que el problema no sea tu hosting, sino tu base de datos. Con el tiempo, PrestaShop acumula información basura: pedidos cancelados, carritos abandonados, sesiones antiguas, revisiones de productos, mensajes de registro fallidos y, sobre todo, una tabla de ps_connections que crece sin control.

Optimizar base datos PrestaShop con phpMyAdmin es una de las tareas de mantenimiento más efectivas que puedes hacer para devolverle la velocidad a tu tienda. Y no necesitas ser un experto en programación: solo tienes que seguir unos pasos muy claros que te explico a continuación.

Antes de empezar, una advertencia importante: siempre haz una copia de seguridad completa de tu base de datos antes de tocar nada. Un error aquí puede dejar tu tienda caída, y es mejor prevenir que lamentar.


¿Qué es phpMyAdmin y por qué lo usamos?

phpMyAdmin es una herramienta web gratuita que te permite gestionar tu base de datos MySQL desde un navegador, sin necesidad de usar líneas de comandos. Casi todos los paneles de control de hosting la incluyen de serie.

Si tu hosting usa Syspanel (antes conocido como HestiaCP), puedes acceder a phpMyAdmin de la siguiente manera:

  1. Entra a tu panel de control Syspanel (recuerda que el puerto de acceso es el 2106).
  2. Busca la sección de bases de datos.
  3. Haz clic en el botón de phpMyAdmin junto a la base de datos de tu PrestaShop.

En otros paneles como cPanel, Plesk o DirectAdmin, el acceso es parecido: busca el icono de phpMyAdmin dentro del apartado de Bases de Datos.


Paso 1: Identifica qué tablas están causando problemas

PrestaShop tiene más de 300 tablas en su base de datos. Muchas de ellas son esenciales, pero otras acumulan datos que ya no necesitas.

Las tablas más problemáticas suelen ser:

  • ps_connections y ps_connections_page: registran cada visita y clic de tus usuarios. Pueden tener cientos de miles de filas.
  • ps_guest: información de visitantes anónimos.
  • ps_cart y ps_cart_product: carritos de compra abandonados.
  • ps_sessions: sesiones de usuario antiguas.
  • ps_log: registros de errores y eventos internos.
  • ps_search_index y ps_search_word: índice de búsqueda que se regenera solo.
  • ps_referrer: estadísticas de referencias de tráfico.

Para ver el tamaño de cada tabla, dentro de phpMyAdmin haz clic en tu base de datos y luego en la pestaña Estructura. Ahí verás una tabla con el número de filas y el tamaño de cada una. Ordena por tamaño para identificar las más pesadas.


Paso 2: Limpiar base datos PrestaShop antes de optimizar

No tiene sentido optimizar tablas llenas de basura. Primero limpiamos, luego optimizamos. Así el proceso es mucho más efectivo.

2.1. Vaciar tablas de estadísticas y sesiones

Dentro de phpMyAdmin, selecciona tu base de datos y haz clic en la pestaña SQL. Ahí ejecutaremos consultas directas.

Empieza vaciando las tablas de conexiones y sesiones:

TRUNCATE TABLE ps_connections;
TRUNCATE TABLE ps_connections_page;
TRUNCATE TABLE ps_guest;
TRUNCATE TABLE ps_sessions;
TRUNCATE TABLE ps_log;

[WARNING] Usa TRUNCATE y no DELETE. TRUNCATE vacía la tabla de golpe y reinicia los contadores automáticos. DELETE fila a fila es mucho más lento y puede saturar el servidor.

2.2. Eliminar carritos abandonados antiguos

Los carritos abandonados son un clásico en PrestaShop. Puedes borrar los que tengan más de 30 días:

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

[INFO] La segunda consulta elimina los productos asociados a carritos que ya no existen. Así evitas datos huérfanos.

2.3. Limpiar revisiones de productos y mensajes antiguos

PrestaShop guarda un histórico de modificaciones de productos que puede ser enorme:

TRUNCATE TABLE ps_product_shop;
TRUNCATE TABLE ps_product_attribute_shop;
TRUNCATE TABLE ps_product_sale;

Ten cuidado con estas tablas porque algunas contienen datos activos. La más segura de vaciar es ps_product_sale, que solo guarda estadísticas de ventas.

2.4. Eliminar mensajes de clientes antiguos

Los mensajes internos de clientes y pedidos antiguos también ocupan espacio:

DELETE FROM ps_message WHERE date_add < DATE_SUB(NOW(), INTERVAL 6 MONTH);
DELETE FROM ps_customer_message WHERE date_add < DATE_SUB(NOW(), INTERVAL 6 MONTH);

Paso 3: Reparar tablas MySQL PrestaShop

Después de limpiar, es momento de reparar las tablas que puedan tener errores de integridad. Esto es especialmente útil si tu tienda se ha caído de forma inesperada o si has restaurado una copia de seguridad.

En phpMyAdmin, ve a la pestaña Estructura de tu base de datos. Verás una casilla de verificación al inicio de cada fila. Haz clic en Marcar todas y luego en el desplegable que dice Con seleccionadas elige Reparar tabla.

Esto ejecutará el comando REPAIR TABLE en todas las tablas. Es un proceso seguro y no borra datos.

[TIP] Si tu base de datos es muy grande, repara las tablas en grupos de 20 o 30 para no sobrecargar el servidor.

También puedes hacerlo por SQL con:

REPAIR TABLE ps_connections, ps_cart, ps_orders, ps_customer;

Paso 4: Optimizar tablas MySQL PrestaShop

La optimización de tablas en MySQL es como desfragmentar un disco duro. Reorganiza el espacio físico y recupera espacio desperdiciado.

4.1. Optimizar todas las tablas a la vez

En la misma vista de Estructura, marca todas las tablas y en el desplegable elige Optimizar tabla.

Esto ejecuta OPTIMIZE TABLE en cada una. El proceso puede tardar unos minutos si tienes muchas filas, pero es completamente seguro.

4.2. Optimizar desde SQL

Si prefieres la consulta directa, puedes ejecutar:

OPTIMIZE TABLE ps_connections, ps_cart, ps_orders, ps_customer, ps_product, ps_category;

O incluso optimizar todas las tablas de la base de datos con una sola línea (aunque no todos los servidores lo permiten):

OPTIMIZE TABLE `tu_base_de_datos`.*

Paso 5: Configuración avanzada para PrestaShop

Ahora que tu base de datos está limpia y optimizada, hay algunos ajustes en PrestaShop que te ayudarán a mantenerla así durante más tiempo.

5.1. Activar el modo mantenimiento temporalmente

Ve a Parámetros avanzados > Rendimiento en tu panel de administración de PrestaShop. Activa el Modo de mantenimiento mientras haces estos procesos para evitar que nuevos datos se escriban durante la optimización.

5.2. Desactivar estadísticas si no las usas

En Parámetros avanzados > Estadísticas, puedes desactivar la recolección de datos globales. Esto evita que las tablas ps_connections y ps_guest se llenen de nuevo rápidamente.

5.3. Programar limpiezas periódicas

No esperes a que tu tienda vaya lenta. Programa una limpieza cada mes con las consultas que te he dado. Puedes hacerlo manualmente o crear un cron job en tu hosting.


Preguntas frecuentes sobre optimización de bases de datos PrestaShop

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

Depende del tráfico de tu tienda. Si tienes más de 1.000 visitas diarias, te recomiendo hacerlo cada 15 días. Si tu tráfico es menor, una vez al mes es suficiente.

¿Perderé datos al optimizar las tablas?

No. OPTIMIZE TABLE no borra datos, solo reorganiza el almacenamiento. Las consultas TRUNCATE y DELETE sí borran datos, pero solo los que hemos indicado explícitamente (sesiones, conexiones, carritos antiguos).

¿Qué pasa si no tengo acceso a phpMyAdmin?

Algunos hostings limitan el acceso. En ese caso, puedes usar el módulo pscleaner de PrestaShop o contactar con tu proveedor de hosting para que ejecuten las consultas por ti.

¿Puedo optimizar la base de datos con PrestaShop abierto?

Técnicamente sí, pero es recomendable activar el modo mantenimiento para evitar conflictos de escritura. Si no puedes detener la tienda, hazlo en horas de bajo tráfico.

¿La optimización de base de datos mejora la velocidad de carga?

Sí, y mucho. Una base de datos limpia y optimizada reduce el tiempo de respuesta del servidor, lo que se traduce en una carga más rápida de todas las páginas de tu tienda.

¿Debo usar un módulo de limpieza en lugar de phpMyAdmin?

Los módulos como psMightCleaner o PrestaCleaner son fáciles de usar y seguros, pero phpMyAdmin te da un control total y no depende de módulos de terceros que pueden dejar de actualizarse.


Resumen final: tu plan de mantenimiento mensual

Para mantener tu PrestaShop rápido y estable, sigue esta rutina una vez al mes:

  1. Haz una copia de seguridad completa de la base de datos.
  2. Activa el modo mantenimiento.
  3. Vacía las tablas de sesiones, conexiones y logs.
  4. Elimina carritos abandonados de más de 30 días.
  5. Repara todas las tablas desde phpMyAdmin.
  6. Optimiza todas las tablas.
  7. Desactiva el modo mantenimiento.
  8. Verifica que tu tienda carga correctamente.

Optimizar base datos PrestaShop desde phpMyAdmin no es una tarea complicada, pero requiere constancia. Si sigues estos pasos, tu tienda responderá mucho más rápido, mejorarás tu posicionamiento SEO y darás una mejor experiencia a tus clientes.

[TIP] Anota en tu calendario una alerta mensual para hacer este mantenimiento. Es la mejor inversión de tiempo para la salud de tu tienda online.

Si tienes dudas sobre algún paso o tu base de datos es especialmente grande, no dudes en contactar con tu proveedor de hosting. Ellos pueden ayudarte a ejecutar estas tareas de manera segura, sobre todo si tu servidor tiene recursos limitados.

¿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