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

Cómo optimizar tablas de base de datos en PrestaShop

Actualizado el 13 de junio de 2026

¿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 de este problema es una base de datos desordenada y llena de basura. Las tablas MySQL de PrestaShop acumulan registros temporales, sesiones caducadas, revisiones de productos y datos de pedidos antiguos que ralentizan cada consulta.

En esta guía, te explicaré paso a paso cómo optimizar las tablas de tu base de datos para mejorar el rendimiento y la velocidad de tu tienda. No necesitas ser un experto en bases de datos; solo seguir estas instrucciones con cuidado.


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

PrestaShop es un sistema de gestión de contenidos (CMS) muy potente, pero su base de datos crece sin control con el tiempo. Cada vez que un cliente visita tu tienda, se ejecutan consultas SQL para mostrar productos, carritos, categorías y más. Si las tablas están fragmentadas, llenas de registros innecesarios o con índices desactualizados, esas consultas tardarán más.

Los beneficios de optimizar la base de datos son claros:

  • Mayor velocidad de carga: Las páginas se renderizan más rápido.
  • Mejor experiencia de usuario: Los clientes no se frustran con tiempos de espera largos.
  • Menor consumo de recursos del servidor: Menos CPU y memoria RAM utilizados.
  • Menos fallos y errores de base de datos: Evitas el temido "Error de conexión a la base de datos".
  • Backups más rápidos y ligeros: Una base de datos optimizada ocupa menos espacio.

Antes de empezar: Precauciones importantes

Antes de tocar cualquier tabla de tu base de datos, sigue estas reglas de oro. Cualquier error puede romper tu tienda.

[WARNING] Siempre, siempre, siempre haz una copia de seguridad completa de tu base de datos antes de realizar cualquier cambio. Si algo sale mal, podrás restaurarla rápidamente.

Cómo hacer una copia de seguridad:

  1. Accede a Syspanel (el panel de control de tu hosting, puerto 2106).
  2. Busca la sección de Base de Datos o phpMyAdmin.
  3. En phpMyAdmin, selecciona tu base de datos de PrestaShop.
  4. Ve a la pestaña Exportar y elige el método Rápido (formato SQL).
  5. Descarga el archivo .sql y guárdalo en un lugar seguro.

[INFO] Si no tienes acceso a Syspanel, contacta con tu proveedor de hosting para que te ayude con la copia de seguridad.


Método 1: Optimizar tablas desde phpMyAdmin (la forma más segura)

Este es el método recomendado para principiantes. Usaremos la herramienta phpMyAdmin, que viene instalada en la mayoría de los paneles de hosting (como Syspanel).

Paso 1: Accede a phpMyAdmin

  1. Inicia sesión en Syspanel (puerto 2106).
  2. Busca el icono de phpMyAdmin o Base de Datos y haz clic.
  3. Selecciona la base de datos de tu tienda PrestaShop (normalmente se llama algo como prestashop_xxxx).

Paso 2: Marca todas las tablas

En la pantalla principal de phpMyAdmin, verás una lista de todas las tablas de tu base de datos. Justo debajo de la lista, hay un enlace que dice "Marcar todo" o un checkbox en la parte superior de la columna. Haz clic para seleccionar todas las tablas.

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

Con todas las tablas seleccionadas, verás un menú desplegable que dice "Con seleccionados:" (o similar). Haz clic en él y elige la opción "Optimizar tabla".

[TIP] Si no ves esta opción, busca en el menú desplegable "Más" o "Acciones adicionales".

Paso 4: Ejecuta la optimización

phpMyAdmin ejecutará el comando OPTIMIZE TABLE para cada tabla seleccionada. Verás una lista de resultados. Si todo va bien, aparecerá un mensaje verde diciendo "OK" o "Tabla optimizada". Si alguna tabla tiene errores, te lo indicará.

[INFO] Este proceso puede tardar unos segundos o minutos, dependiendo del tamaño de tu base de datos. No cierres la ventana ni interrumpas el proceso.


Método 2: Optimizar tablas mediante comandos SQL (para usuarios avanzados)

Si te sientes cómodo con la línea de comandos o quieres automatizar el proceso, puedes usar comandos SQL directamente.

Paso 1: Conéctate a tu base de datos

Puedes hacerlo desde phpMyAdmin (pestaña SQL) o desde la terminal de tu servidor (si tienes acceso SSH). En phpMyAdmin, selecciona tu base de datos y ve a la pestaña SQL.

Paso 2: Ejecuta el comando OPTIMIZE

Para optimizar todas las tablas de tu base de datos, puedes ejecutar:

OPTIMIZE TABLE `ps_cart_product`, `ps_connections`, `ps_connections_source`, `ps_guest`, `ps_log`, `ps_sessions`, `ps_shop_url`, `ps_page_views`;

Pero esto solo optimiza las tablas que mencionas. Para optimizar todas las tablas de tu base de datos, puedes usar el siguiente script (ejecútalo en la pestaña SQL de phpMyAdmin):

SELECT CONCAT('OPTIMIZE TABLE ', GROUP_CONCAT(TABLE_NAME SEPARATOR ', '), ';') AS query
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'nombre_de_tu_base_de_datos' AND TABLE_TYPE = 'BASE TABLE';

Reemplaza 'nombre_de_tu_base_de_datos' por el nombre real de tu base de datos (lo puedes ver en la parte izquierda de phpMyAdmin). Luego, copia el resultado de esta consulta y pégalo en una nueva pestaña SQL para ejecutarlo.

[WARNING] No uses este método si no estás seguro de lo que haces. Un error en el nombre de la base de datos puede afectar a otras bases de datos.


Método 3: Limpiar tablas específicas de PrestaShop (optimización avanzada)

Además de optimizar las tablas, es muy recomendable limpiar los datos basura que acumula PrestaShop. Esto libera espacio y acelera las consultas.

Tablas que puedes limpiar de forma segura:

  • ps_connections: Guarda las conexiones de los visitantes. Puedes borrar registros antiguos (más de 30 días).
  • ps_connections_source: Origen de las conexiones (referencias). Misma regla.
  • ps_guest: Datos de visitantes no registrados. Puedes borrar los de más de 30 días.
  • ps_log: Registros de actividad del sistema. Puedes borrar los de más de 7 días.
  • ps_sessions: Sesiones de usuarios caducadas. Puedes borrar todas las sesiones (los usuarios tendrán que iniciar sesión de nuevo, pero es seguro).
  • ps_cart_product: Carritos abandonados. Puedes borrar los que tengan más de 30 días sin actividad.
  • ps_page_views: Páginas vistas. Puedes borrar registros antiguos (más de 30 días).

[INFO] No borres tablas como ps_product, ps_category, ps_order, etc., a menos que sepas exactamente lo que haces. Esos datos son críticos para tu tienda.

Cómo limpiar estas tablas:

  1. En phpMyAdmin, selecciona la tabla que quieres limpiar (por ejemplo, ps_connections).
  2. Ve a la pestaña SQL.
  3. Ejecuta un comando DELETE con una condición de fecha. Por ejemplo:
DELETE FROM `ps_connections` WHERE `date_add` < DATE_SUB(NOW(), INTERVAL 30 DAY);

Esto borrará todas las conexiones registradas hace más de 30 días.

[TIP] Si no sabes la fecha exacta, puedes usar ORDER BY y LIMIT para borrar solo una parte. Por ejemplo: DELETE FROM ps_connections ORDER BY date_add ASC LIMIT 1000; (borra las 1000 más antiguas).

Limpiar registros de búsqueda

PrestaShop guarda las búsquedas que hacen los clientes en la tabla ps_search_word. Con el tiempo, puede acumular millones de registros. Puedes truncarla (vaciarla) de forma segura:

TRUNCATE TABLE `ps_search_word`;

[WARNING] Truncar una tabla elimina todos sus registros de forma irreversible. Asegúrate de que no necesitas esos datos (por ejemplo, para estadísticas de búsqueda).


Optimización automática con módulos de PrestaShop

Si prefieres no tocar código, existen módulos que hacen este trabajo por ti. Algunos de los más populares son:

  • PrestaShop Cleaner: Limpia tablas de sesiones, conexiones, logs, etc.
  • Advanced Database Cleaner: Permite limpiar y optimizar tablas desde el panel de administración.
  • Speed Optimizer: Además de limpiar, optimiza imágenes y caché.

[INFO] Los módulos de pago suelen ser más completos y ofrecer soporte, pero los gratuitos también funcionan bien para tareas básicas.


Preguntas frecuentes (FAQ) sobre optimización de base de datos en PrestaShop

¿Con qué frecuencia debo optimizar las tablas?

Depende del tráfico de tu tienda. Si tienes muchas visitas, una vez al mes está bien. Para tiendas pequeñas, cada 2-3 meses es suficiente.

¿Puedo optimizar la base de datos mientras la tienda está en funcionamiento?

Sí, pero es mejor hacerlo en horas de bajo tráfico (por la noche o los fines de semana) para evitar ralentizaciones.

¿Qué hago si después de optimizar la tienda sigue lenta?

La base de datos es solo una parte del rendimiento. Revisa también:

  • Caché: Activa el caché de PrestaShop (Rendimiento > Caché).
  • Imágenes: Optimiza las imágenes de productos (tamaño y formato).
  • Hosting: Tu plan de hosting puede ser insuficiente.
  • Módulos: Desactiva módulos que no uses.

¿Es seguro borrar la tabla ps_sessions?

Sí, es seguro. Los usuarios tendrán que iniciar sesión de nuevo, pero no se pierde información importante.

¿Qué hago si veo errores después de optimizar?

Restaura la copia de seguridad que hiciste al principio. Si el error persiste, contacta con tu soporte técnico.


Conclusión

Optimizar las tablas de tu base de datos en PrestaShop es una tarea sencilla que puede transformar la velocidad de tu tienda. No solo mejora la experiencia de tus clientes, sino que también reduce la carga en tu servidor. Ya sea usando phpMyAdmin, comandos SQL o módulos, elige el método que más cómodo te resulte y hazlo parte de tu rutina de mantenimiento.

[TIP] Programa recordatorios mensuales para optimizar y limpiar tu base de datos. Tu tienda y tus clientes te lo agradecerán.

Si tienes dudas, recuerda que siempre puedes consultar la documentación oficial de PrestaShop o pedir ayuda en foros especializados. ¡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