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

Cómo optimizar una base de datos en PrestaShop con phpMyAdmin

Actualizado el 2 de abril de 2026

¿Tu tienda online hecha con PrestaShop va lenta? ¿Las páginas tardan una eternidad en cargar y tus clientes se impacientan? Uno de los culpables más comunes de un bajo rendimiento es una base de datos desordenada y llena de basura. Pero no te preocupes, porque hoy te voy a enseñar, paso a paso, cómo optimizar base de datos en PrestaShop usando phpMyAdmin. Es más fácil de lo que crees, y no necesitas ser un experto en programación.

Piensa en tu base de datos como el armario de tu tienda. Con el tiempo, se llena de cosas que ya no sirven: registros de visitas antiguos, carritos abandonados, productos eliminados... Si no limpias, cuando quieras encontrar algo, te costará un montón. Lo mismo le pasa a tu tienda: una base de datos pesada ralentiza las consultas, y por tanto, la experiencia de tus visitantes.

Vamos a ponerle remedio. Sigue esta guía didáctica y verás cómo tu tienda online recupera la velocidad.

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

Antes de meternos en faena, entendamos por qué esto es tan crucial.

  • Velocidad de carga: Una base de datos optimizada responde más rápido. Las páginas se cargan en menos tiempo, lo que mejora la experiencia de usuario y el SEO.
  • Menor consumo de recursos: Tu servidor no tiene que esforzarse tanto. Esto es vital si compartes hosting o tienes un plan con recursos limitados.
  • Menos errores: Bases de datos limpias son menos propensas a errores de conexión o bloqueos.
  • Backups más rápidos: Hacer una copia de seguridad de una base de datos pequeña es mucho más ágil que de una gigantesca.

[INFO] La optimización no es un lujo, es una necesidad para cualquier tienda online que quiera crecer. Dedica 30 minutos al mes a esta tarea y notarás la diferencia.

Preparativos antes de empezar

Vamos a usar phpMyAdmin, una herramienta que viene instalada en la mayoría de los paneles de control de hosting. Es como el "taller" de tu base de datos, donde puedes ver, modificar y limpiar todo.

Acceso a phpMyAdmin desde Syspanel

Si tu hosting utiliza Syspanel (recuerda que el puerto de acceso es el 2106), el proceso es muy sencillo:

  1. Abre tu navegador y escribe: https://tudominio.com:2106
  2. Inicia sesión con tus credenciales de Syspanel.
  3. Busca la sección de Bases de Datos o phpMyAdmin. Normalmente hay un enlace directo.
  4. Haz clic en el nombre de la base de datos de tu PrestaShop. Se abrirá una nueva pestaña con phpMyAdmin.

[TIP] Si no ves el enlace, busca dentro de la sección "Bases de Datos" un icono o botón que diga "phpMyAdmin" o "Administrar".

¡Ojo! Haz una copia de seguridad

Este paso es OBLIGATORIO. Vamos a realizar cambios en tu base de datos. Si algo sale mal, necesitas poder volver atrás.

  1. Dentro de phpMyAdmin, selecciona tu base de datos (la de PrestaShop) en el panel izquierdo.
  2. Haz clic en la pestaña Exportar en el menú superior.
  3. Elige el método Rápido y formato SQL.
  4. Haz clic en Continuar. Se descargará un archivo .sql con toda tu base de datos.
  5. Guarda ese archivo en un lugar seguro. Es tu salvavidas.

[WARNING] NUNCA trabajes sobre la base de datos sin tener un backup reciente. Un error puede dejar tu tienda inaccesible.

Pasos para optimizar la base de datos de PrestaShop

Ahora sí, manos a la obra. Sigue estos pasos en orden para una limpieza profunda.

1. Identificar y limpiar tablas innecesarias

PrestaShop, con el tiempo, acumula tablas de módulos desinstalados, logs y datos de sesiones. Vamos a localizar las más problemáticas.

a) Tablas de logs (registros de actividad)

Estas tablas guardan un montón de información que no necesitas a diario: errores, accesos, etc.

  • ps_log: Almacena todos los errores del sistema. Puede crecer mucho.
  • ps_connections y ps_connections_page: Guardan las conexiones de los visitantes.
  • ps_guest: Información de los usuarios que navegan sin registrarse.

¿Cómo limpiarlas?

  1. En phpMyAdmin, selecciona tu base de datos.

  2. Busca esas tablas (el prefijo puede ser ps_, prestashop_, etc., dependiendo de tu instalación).

  3. Haz clic en la pestaña SQL en el menú superior.

  4. Ejecuta estas consultas una por una (copia y pega):

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

    [TIP] TRUNCATE vacía la tabla por completo, pero mantiene su estructura. Es más rápido que DELETE.

b) Carritos abandonados

Los carritos que nunca se convirtieron en ventas ocupan espacio. Puedes eliminarlos si tienen más de, por ejemplo, 30 días.

Consulta SQL para eliminar carritos de más de 30 días:

DELETE FROM ps_cart WHERE date_upd < DATE_SUB(NOW(), INTERVAL 30 DAY);

Ajusta el número de días según tu criterio. Si tu tienda tiene mucho volumen, puedes borrar los de más de 7 días.

c) Sesiones caducadas

Las sesiones de usuarios que ya no están activos también pesan.

DELETE FROM ps_sessions WHERE expiry < NOW();

[INFO] Puedes programar estas limpiezas automáticamente con un cron job, pero para empezar, hacerlo manual una vez al mes está bien.

2. Optimizar las tablas (desfragmentar)

Después de eliminar datos, las tablas quedan "agujereadas", como un disco duro fragmentado. Esto ralentiza las consultas. Vamos a optimizarlas.

Opción 1: Desde la interfaz de phpMyAdmin

  1. Selecciona tu base de datos en el panel izquierdo.
  2. Marca la casilla Seleccionar todo (justo debajo de las pestañas).
  3. En el desplegable Con seleccionados: elige Optimizar tabla.
  4. Verás un mensaje de confirmación. ¡Listo!

Opción 2: Con una consulta SQL (más rápida)

Puedes optimizar todas las tablas de una sola vez con esta sentencia:

OPTIMIZE TABLE ps_cart, ps_log, ps_connections, ps_guest, ps_sessions, ps_product;

(Reemplaza los nombres de tabla por los que quieras optimizar, o simplemente ejecuta OPTIMIZE TABLE para cada una).

[WARNING] Durante la optimización, la base de datos se bloquea brevemente. Hazlo en horas de bajo tráfico para evitar afectar a tus clientes.

3. Reparar tablas dañadas

A veces, por cortes de luz o errores del servidor, algunas tablas se corrompen. phpMyAdmin te permite repararlas.

  1. En la lista de tablas, busca aquellas que tengan el estado "error" o "in use".
  2. Marca la casilla de esa tabla.
  3. En el desplegable Con seleccionados: elige Reparar tabla.

O con SQL:

REPAIR TABLE ps_product;

4. Eliminar datos de productos y categorías eliminados

Cuando eliminas un producto o categoría desde el panel de PrestaShop, a veces quedan registros huérfanos en tablas relacionadas.

Consulta para limpiar combinaciones de productos eliminados:

DELETE pa FROM ps_product_attribute pa
LEFT JOIN ps_product p ON pa.id_product = p.id_product
WHERE p.id_product IS NULL;

Consulta para limpiar imágenes de productos eliminados:

DELETE i FROM ps_image i
LEFT JOIN ps_product p ON i.id_product = p.id_product
WHERE p.id_product IS NULL;

Estas consultas son algo más avanzadas, pero muy efectivas. Si no te sientes seguro, puedes omitir este paso.

5. Optimizar el motor de búsqueda de PrestaShop

PrestaShop tiene un sistema de búsqueda interna que puede ralentizarse si no se indexa correctamente.

  1. Ve al panel de administración de tu PrestaShop.
  2. Navega a Mejorar -> Búsqueda.
  3. Haz clic en Añadir índice o Reconstruir índice.
  4. Espera a que termine. Esto puede tardar unos minutos si tienes muchos productos.

[TIP] Combina esto con la limpieza de la tabla ps_search_word desde phpMyAdmin:

TRUNCATE TABLE ps_search_word;

Luego, reconstruye el índice desde el panel de administración. Esto regenera las palabras clave de búsqueda de forma más eficiente.

6. Configurar el mantenimiento automático (opcional)

Si quieres ahorrar tiempo, puedes crear un script que ejecute estas limpiezas periódicamente. Pero eso es para otro artículo. Por ahora, te recomiendo:

  • Una vez al mes: Realiza los pasos 1, 2 y 3.
  • Cada 3 meses: Realiza el paso 4 (limpieza de datos huérfanos).

Preguntas frecuentes (FAQ)

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

R: Depende del tamaño de tu tienda. Si tienes pocos productos (menos de 500) y poco tráfico, una vez al mes es suficiente. Si vendes mucho, hazlo cada 15 días.

P: ¿Qué pasa si me equivoco en una consulta SQL?

R: Por eso hicimos el backup al principio. Si algo sale mal, restaura la base de datos desde el archivo .sql que descargaste. En phpMyAdmin, usa la pestaña Importar y selecciona el archivo.

P: ¿Puedo optimizar desde el panel de administración de PrestaShop?

R: Sí, hay módulos que lo hacen, pero suelen ser de pago y no siempre son tan efectivos como hacerlo manualmente con phpMyAdmin. Además, el control manual te da más seguridad.

P: ¿Afecta esto a mis clientes mientras lo hago?

R: Si ejecutas las consultas en horas de bajo tráfico (por la noche, por ejemplo), apenas notarán nada. La optimización de tablas puede bloquear la escritura por unos segundos, pero es mínimo.

P: Mi tienda usa Syspanel. ¿El puerto 2106 es seguro?

R: Sí, Syspanel utiliza ese puerto para el acceso administrativo, y es perfectamente seguro si mantienes tus credenciales protegidas y usas HTTPS.

Conclusión

Optimizar la base de datos de tu PrestaShop con phpMyAdmin es una de las tareas de mantenimiento más importantes para garantizar el buen rendimiento de tu tienda online. No solo mejorarás la velocidad de carga, sino que también reducirás el consumo de recursos de tu servidor y evitarás errores comunes.

Recuerda: la clave está en la constancia. Dedica un rato cada mes a esta limpieza, y tu tienda te lo agradecerá con ventas y clientes más felices. ¿Te animas a probarlo?

[INFO] Si después de optimizar la base de datos la velocidad no mejora, puede que el problema esté en el hosting, en el tema o en los módulos. La base de datos es solo una pieza del puzle, pero es de las más fáciles de arreglar. ¡Manos a la obra!

¿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