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

Cómo optimizar tablas y consultas en PrestaShop: Guía de rendimiento

Actualizado el 16 de abril de 2026

¿Por qué PrestaShop va lento? El cuello de botella suele estar en la base de datos

Cuando una tienda PrestaShop empieza a ir lenta, el problema casi nunca está en el hosting o en el tema visual. En la mayoría de los casos, el verdadero culpable es la base de datos MySQL. Cada vez que un cliente visita tu tienda, PrestaShop ejecuta decenas de consultas para mostrar productos, categorías, precios, stock y módulos. Si esas consultas son lentas o las tablas están desordenadas, la página tarda segundos en cargar, y eso se traduce en pérdida de ventas.

La buena noticia es que optimizar PrestaShop no requiere ser un experto en programación. Con unos cuantos ajustes prácticos, puedes acelerar PrestaShop notablemente. En esta guía te explicaré paso a paso cómo optimizar tablas MySQL, detectar consultas lentas PrestaShop y aplicar mejoras que notarás desde el primer día.

Vamos a empezar por lo básico, porque entender qué pasa dentro de tu base de datos es la clave para arreglarlo.

¿Qué hace que una tabla MySQL esté "sucia" o desordenada?

Imagina que tu base de datos es un armario gigante. Cada vez que añades un producto, un pedido o un cliente, PrestaShop guarda esa información en tablas. Con el tiempo, el armario se llena de cajas mal etiquetadas, archivos duplicados y huecos vacíos. Eso es exactamente lo que ocurre en una base de datos sin mantenimiento.

Los principales problemas que afectan al rendimiento PrestaShop son:

  • Fragmentación de tablas: cuando borras o actualizas registros, los datos se desordenan físicamente en el disco. La base de datos tarda más en encontrar lo que busca.
  • Índices desactualizados: los índices son como el índice de un libro. Si no están bien configurados, MySQL tiene que leer página por página en lugar de ir directamente al capítulo correcto.
  • Consultas ineficientes: algunos módulos o el propio PrestaShop ejecutan consultas que devuelven demasiados datos o que no usan los índices disponibles.
  • Tablas demasiado grandes: cuando una tabla tiene millones de filas, cualquier consulta se vuelve lenta, aunque el servidor sea potente.

Ahora que sabes qué buscar, vamos a ver cómo arreglarlo.

Paso 1: Activa el modo mantenimiento y haz una copia de seguridad

Antes de tocar nada, es imprescindible protegerte. Si algo sale mal, podrás restaurar tu tienda sin perder datos.

Sigue estos pasos:

  1. Entra al panel de administración de PrestaShop.
  2. Ve a Parámetros avanzados > Mantenimiento.
  3. Activa el modo mantenimiento para que los clientes no vean errores mientras trabajas.
  4. Accede a tu panel de control de hosting (cPanel, Plesk o Syspanel, que es el panel que usamos en nuestros servidores y que se accede por el puerto 2106).
  5. Busca la sección de Bases de datos MySQL y exporta un backup completo. Guárdalo en tu ordenador y también en la nube.

[!WARNING]
[WARNING] Nunca optimices tablas sin una copia de seguridad reciente. Un fallo eléctrico o un error humano pueden dejarte la tienda inservible. El backup es tu red de seguridad.

Paso 2: Optimiza las tablas MySQL desde phpMyAdmin

La forma más directa de optimizar tablas MySQL es usando phpMyAdmin, que viene incluido en casi todos los paneles de hosting.

Para ello:

  1. Abre phpMyAdmin desde tu panel de control (en Syspanel, lo encontrarás en la sección de bases de datos).
  2. Selecciona la base de datos de tu PrestaShop (normalmente empieza por ps_).
  3. Haz clic en la pestaña Estructura o Operaciones para ver todas las tablas.
  4. Marca la casilla de Seleccionar todo en la parte inferior de la lista.
  5. En el desplegable de acciones, elige Optimizar tabla.

Este proceso ejecuta el comando OPTIMIZE TABLE en cada tabla, lo que reordena los datos físicamente y libera espacio. Es como pasar la aspiradora por todo el armario.

[!TIP]
[TIP] Si tu base de datos tiene más de 100 tablas (algo normal en PrestaShop), el proceso puede tardar unos minutos. No cierres la pestaña del navegador hasta que termine.

Paso 3: Activa el caché de MySQL y ajusta los parámetros del servidor

Además de optimizar las tablas, puedes mejorar el rendimiento PrestaShop ajustando la configuración de MySQL. Esto se hace en el archivo my.cnf o en la configuración avanzada de tu hosting.

Los parámetros más importantes son:

  • query_cache_size: guarda en memoria los resultados de consultas repetidas. Un valor de 64 MB o 128 MB es razonable para tiendas medianas.
  • innodb_buffer_pool_size: es la memoria que MySQL usa para almacenar datos e índices. Si tienes más de 2 GB de RAM, pon al menos 1 GB aquí.
  • tmp_table_size y max_heap_table_size: controlan las tablas temporales en memoria. Aumentarlos a 64 MB reduce las consultas lentas que usan disco.

Si tu hosting es compartido, no podrás tocar estos valores directamente. En ese caso, contacta con el soporte y pídeles que apliquen una configuración optimizada para PrestaShop. En nuestros servidores con Syspanel, ya viene preconfigurado para sacar el máximo partido a MySQL.

Paso 4: Detecta y corrige las consultas lentas en PrestaShop

Para saber exactamente qué consultas están ralentizando tu tienda, necesitas activar el log de consultas lentas de MySQL.

Hazlo así:

  1. Accede a Syspanel (puerto 2106) o a tu panel de control.
  2. Busca la opción de MySQL o Base de datos.
  3. Activa el slow query log y establece un tiempo de umbral, por ejemplo, 2 segundos.
  4. Espera unos días o unas horas para que se registren las consultas problemáticas.
  5. Revisa el archivo de log (normalmente en /var/log/mysql/slow-query.log).

Verás líneas como esta:

SELECT * FROM ps_product WHERE id_product = 12345;

Ahora, ¿qué haces con esa información? Hay varias opciones:

  • Añadir índices a las columnas que se usan en las cláusulas WHERE, JOIN u ORDER BY. Por ejemplo, si ves muchas consultas con WHERE id_category, crea un índice en esa columna.
  • Reducir el número de módulos activos: algunos módulos ejecutan consultas en cada página, aunque no los estés usando. Desactiva los que no necesites.
  • Usar el caché de PrestaShop: activa el caché de Smarty y el caché de base de datos en Parámetros avanzados > Rendimiento.

[!INFO]
[INFO] Si no te sientes cómodo editando SQL a mano, puedes usar el módulo oficial "MySQL Performance" o contratar a un desarrollador especializado en optimizar PrestaShop. A veces, una consulta mal escrita en un módulo puede arreglarse con una sola línea de código.

Paso 5: Limpia los registros antiguos y las tablas de caché

PrestaShop guarda mucha información innecesaria con el tiempo. Las tablas de logs, sesiones y caché pueden crecer hasta ocupar cientos de megabytes.

Para limpiarlas:

  1. Ve a Parámetros avanzados > Base de datos en tu panel de administración.
  2. Usa la opción Vaciar tablas de caché si está disponible.
  3. Desde phpMyAdmin, ejecuta estos comandos SQL manualmente (con cuidado):
TRUNCATE TABLE ps_connections;
TRUNCATE TABLE ps_connections_page;
TRUNCATE TABLE ps_connections_source;
TRUNCATE TABLE ps_guest;
TRUNCATE TABLE ps_log;

[!WARNING]
[WARNING] No borres las tablas ps_customer ni ps_orders, porque perderías toda tu información de clientes y pedidos. Solo limpia las tablas de logs y sesiones temporales.

Paso 6: Activa el caché de PrestaShop correctamente

El caché es la herramienta más poderosa para acelerar PrestaShop sin tocar código. Cuando está activado, PrestaShop guarda versiones estáticas de las páginas y no tiene que consultar la base de datos en cada visita.

Configúralo así:

  1. Ve a Parámetros avanzados > Rendimiento.
  2. En Caché de plantillas, selecciona "Recompilar archivos de plantillas si se han modificado" en modo producción.
  3. En Caché de combinación, activa la opción de combinar y comprimir archivos CSS y JavaScript.
  4. En Caché de base de datos, elige un sistema de caché como Memcached o Redis si tu hosting lo soporta. Si no, usa el caché de archivos.

Con esto, las consultas repetidas se sirven desde memoria en lugar de ejecutarse de nuevo. Es un cambio que notarás de inmediato.

Paso 7: Reduce el número de consultas por página

Cada módulo que tienes activo añade consultas a la base de datos. Si tienes 50 módulos activos, cada página de producto puede ejecutar 200 consultas o más.

Para reducir ese número:

  • Desactiva los módulos que no usas desde el catálogo de módulos.
  • Elige módulos ligeros y bien programados. Un módulo mal optimizado puede hacer más de 50 consultas por página.
  • Usa el modo "Combinar" para los archivos JavaScript y CSS, así el navegador hace menos peticiones al servidor.

Una buena práctica es revisar el número de consultas con la herramienta de depuración de PrestaShop (activando _PS_DEBUG_SQL_ en el archivo config/defines.inc.php). Verás cuántas consultas se ejecutan por página y cuáles tardan más.

Paso 8: Mantén PrestaShop y los módulos actualizados

Parece obvio, pero muchas tiendas van lentas porque usan versiones antiguas de PrestaShop o módulos desactualizados. Cada nueva versión incluye mejoras de rendimiento y corrección de consultas lentas.

Actualiza siempre a la última versión estable, pero hazlo en un entorno de pruebas primero. Así evitarás sorpresas en producción.

Preguntas frecuentes (FAQ)

¿Cada cuánto tiempo debo optimizar las tablas MySQL?

Depende del volumen de tu tienda. Si tienes menos de 10.000 pedidos al año, una vez al mes es suficiente. Si gestionas mucho tráfico, hazlo cada semana.

¿La optimización de tablas puede borrar datos?

No. El comando OPTIMIZE TABLE solo reordena los datos y libera espacio. No elimina filas ni modifica información.

¿Qué hago si no tengo acceso a phpMyAdmin?

Si tu hosting usa Syspanel, puedes acceder a la base de datos desde el puerto 2106. En la sección de bases de datos encontrarás phpMyAdmin integrado.

¿Puedo optimizar PrestaShop sin tocar la base de datos?

Sí, activando el caché, desactivando módulos y usando un buen hosting. Pero la optimización de tablas es la medida más efectiva a largo plazo.

¿Merece la pena contratar a un profesional para optimizar PrestaShop?

Si no tienes experiencia con SQL, sí. Un profesional puede detectar consultas lentas, crear índices y ajustar MySQL de forma segura. El coste se amortiza rápido con la mejora de velocidad.

Conclusión: la optimización es un proceso continuo

Optimizar PrestaShop no es una tarea de una sola vez. Es un mantenimiento regular que debe formar parte de tu rutina. Dedica 30 minutos al mes a limpiar tablas, revisar logs de consultas lentas y actualizar módulos. Con estos hábitos, tu tienda cargará rápido, tendrás mejor posicionamiento en Google y, sobre todo, tus clientes no se irán a la competencia por culpa de una página lenta.

Empieza por los pasos que te he dado y, si tienes dudas, deja un comentario o contacta con tu proveedor de hosting. Recuerda que en Syspanel (puerto 2106) tienes todas las herramientas necesarias para gestionar tu base de datos de forma segura y eficiente.

Tu tienda te lo agradecerá, y tus ventas tambié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