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

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

Actualizado el 6 de septiembre de 2025

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

Si tu tienda online va lenta, el problema no siempre es el hosting o el tema. En la mayoría de los casos, el verdadero culpable es una base de datos MySQL desordenada y llena de basura acumulada. Con el tiempo, PrestaShop acumula registros de sesiones antiguas, carritos abandonados, consultas lentas y tablas fragmentadas. Todo esto hace que el rendimiento de tu tienda se degrade notablemente.

Optimizar la base de datos de PrestaShop no solo acelera la carga de tus páginas, sino que también mejora la experiencia de usuario y, por tanto, tu posicionamiento SEO. Google penaliza las webs lentas, así que una base de datos limpia es sinónimo de mejor ranking.

La buena noticia es que no necesitas ser un experto en programación para hacerlo. Con phpMyAdmin, la herramienta que seguramente ya tienes en tu panel de control (como cPanel, Plesk o Syspanel en el puerto 2106), puedes optimizar y reparar tus tablas en pocos minutos.

En este artículo te voy a explicar paso a paso cómo hacerlo, qué opciones usar y qué precauciones tomar. Todo explicado de forma sencilla, sin tecnicismos innecesarios.


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

phpMyAdmin es una herramienta gratuita y muy popular que te permite gestionar bases de datos MySQL desde un navegador web. Es la forma más cómoda de administrar la base de datos de PrestaShop sin necesidad de usar comandos complejos.

Para acceder a phpMyAdmin, normalmente tienes que ir al panel de control de tu hosting. Si usas Syspanel (recuerda, el puerto es el 2106), busca el icono de phpMyAdmin dentro de la sección de bases de datos. En otros paneles como cPanel, suele estar en la sección "Bases de Datos".

Una vez dentro, verás una lista de todas las bases de datos que tienes. La de PrestaShop suele llamarse algo como tienda_db o prestashop_xxx. Haz clic en ella y verás todas las tablas de tu tienda.


Paso 1: Haz una copia de seguridad antes de tocar nada

Este es el paso más importante de todos. Nunca optimices o repares una base de datos sin hacer antes una copia de seguridad completa. Si algo sale mal, podrías perder datos valiosos como pedidos, clientes o productos.

Para hacer la copia de seguridad en phpMyAdmin:

  1. Selecciona tu base de datos en el panel izquierdo.
  2. Haz clic en la pestaña "Exportar" en la parte superior.
  3. Elige el método "Rápido" y formato SQL.
  4. Haz clic en "Continuar" y descarga el archivo.

Guarda ese archivo en un lugar seguro, preferiblemente fuera de tu servidor. Puedes subirlo a Google Drive, Dropbox o incluso a tu ordenador local.

[WARNING] No optimices nunca sin copia de seguridad. Un fallo eléctrico, un corte de conexión o un error humano pueden corromper tu base de datos. La copia de seguridad es tu salvavidas.


Paso 2: Localiza las tablas de PrestaShop en phpMyAdmin

Cuando entras en tu base de datos, verás una lista de tablas con nombres como ps_cart, ps_orders, ps_products, etc. El prefijo ps_ puede variar según la instalación (a veces es prestashop_ o shop_).

En la parte inferior de la lista de tablas, verás una fila con texto en azul que dice algo como "Marcar todas" o un enlace que dice "Comprobar todo". También verás un desplegable que dice "Con selección:". Ahí es donde podrás elegir las opciones de optimización.


Paso 3: Optimizar la base de datos PrestaShop con una sola acción

La forma más rápida y sencilla de optimizar todas las tablas a la vez es usar la opción "Optimizar tabla" de phpMyAdmin.

Sigue estos pasos:

  1. En la parte inferior de la lista de tablas, haz clic en "Marcar todas" para seleccionar todas las tablas.
  2. En el desplegable "Con selección:", elige "Optimizar tabla".
  3. Haz clic en "Continuar" o "Ejecutar".

phpMyAdmin ejecutará el comando OPTIMIZE TABLE en todas las tablas. Esto reorganiza el almacenamiento físico de los datos, libera espacio no utilizado y mejora la velocidad de las consultas.

[TIP] Si tu base de datos es muy grande (más de 500 MB), es recomendable hacer la optimización en horarios de bajo tráfico, como de madrugada. Durante el proceso, las tablas pueden bloquearse momentáneamente.


Paso 4: Reparar tablas de PrestaShop dañadas

A veces, las tablas no solo están fragmentadas, sino que pueden estar dañadas. Esto ocurre por cortes de luz, fallos del servidor o cierres incorrectos de la base de datos. Los síntomas son errores como "Table is marked as crashed" o consultas que fallan aleatoriamente.

Para reparar las tablas dañadas:

  1. Vuelve a seleccionar todas las tablas con "Marcar todas".
  2. En el desplegable, elige "Reparar tabla".
  3. Ejecuta la acción.

phpMyAdmin intentará reparar automáticamente cualquier tabla corrupta. Este proceso es seguro y no debería causar pérdida de datos.

[INFO] La reparación de tablas es especialmente útil después de un cierre inesperado del servidor. Si tienes errores frecuentes en tu tienda, es recomendable hacer esta operación al menos una vez al mes.


Paso 5: Eliminar datos basura para mejorar el rendimiento MySQL de PrestaShop

Además de optimizar las tablas, es muy recomendable limpiar la base de datos de información innecesaria. PrestaShop guarda muchísimos datos temporales que no necesitas.

5.1. Limpiar sesiones antiguas

Las sesiones de los visitantes se guardan en la tabla ps_connections y ps_sessions. Con el tiempo, esta tabla puede crecer muchísimo. Puedes vaciarla sin miedo, ya que solo contiene datos temporales de visitas.

En phpMyAdmin:

  1. Haz clic en la tabla ps_connections.
  2. Ve a la pestaña "Vaciar" (o "Truncate").
  3. Confirma la acción.

Haz lo mismo con ps_sessions y ps_guest.

5.2. Eliminar carritos abandonados antiguos

Los carritos abandonados ocupan espacio y no aportan nada. Puedes eliminarlos desde el panel de administración de PrestaShop, pero también puedes hacerlo directamente en la base de datos.

En la tabla ps_cart, puedes borrar los registros con más de 30 días de antigüedad. Para ello:

  1. Ve a la pestaña "SQL".
  2. Ejecuta el siguiente comando (ajusta el prefijo si es necesario):
DELETE FROM ps_cart WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);

[WARNING] Ten cuidado con los comandos SQL manuales. Si no estás seguro de lo que haces, es mejor usar las opciones gráficas de phpMyAdmin o contratar a un profesional.

5.3. Vaciar la tabla de logs

PrestaShop guarda registros de errores y eventos en ps_log. Esta tabla puede crecer sin control. Puedes vaciarla entera o borrar los registros antiguos.

DELETE FROM ps_log WHERE date_add < DATE_SUB(NOW(), INTERVAL 15 DAY);

Paso 6: Optimizar las consultas MySQL con índices

Los índices son como el índice de un libro: permiten que MySQL encuentre los datos mucho más rápido. PrestaShop ya incluye índices por defecto, pero a veces faltan algunos que pueden mejorar el rendimiento.

Puedes añadir índices a tablas que se consultan frecuentemente, como ps_orders, ps_customer o ps_product. Por ejemplo, si haces muchas búsquedas por email de cliente, puedes añadir un índice a la columna email de ps_customer.

Para añadir un índice:

  1. Ve a la estructura de la tabla.
  2. Haz clic en "Índices" o "Más".
  3. Haz clic en "Crear índice".
  4. Selecciona la columna y haz clic en "Continuar".

[TIP] No te obsesiones con los índices. Añadir demasiados puede ralentizar las inserciones. Si no sabes cuáles necesitas, déjalo como está. La optimización básica de tablas suele ser suficiente.


Paso 7: Configuración recomendada de MySQL para PrestaShop

A veces el rendimiento de MySQL no depende solo de la base de datos, sino de la configuración del servidor. Si tienes acceso al archivo my.cnf o my.ini, puedes ajustar algunos parámetros.

Los valores recomendados para PrestaShop son:

  • innodb_buffer_pool_size: ajústalo al 70% de la memoria RAM disponible.
  • query_cache_size: entre 64 MB y 128 MB (aunque en versiones recientes de MySQL está obsoleto).
  • max_connections: entre 100 y 200, dependiendo del tráfico.

[INFO] Si no tienes acceso a estos archivos, no te preocupes. La mayoría de los hosting compartidos ya tienen una configuración razonable. Si tu tienda es muy grande, considera contratar un VPS o un servidor dedicado.


Paso 8: Automatiza la optimización de tu base de datos

No querrás estar optimizando la base de datos manualmente cada semana. Lo ideal es automatizar el proceso.

Puedes crear un script en PHP que ejecute las consultas de optimización y programarlo con cron. O, si usas Syspanel, puedes configurar una tarea cron desde el panel.

Un ejemplo sencillo de script sería:

<?php
$conexion = mysqli_connect("localhost", "usuario", "contraseña", "base_de_datos");
$tablas = mysqli_query($conexion, "SHOW TABLES");
while ($tabla = mysqli_fetch_array($tablas)) {
    mysqli_query($conexion, "OPTIMIZE TABLE " . $tabla[0]);
}
?>

Guarda este archivo como optimizar.php y prográmalo para que se ejecute una vez a la semana.

[TIP] Si no te sientes cómodo con scripts, muchos paneles de control como cPanel o Syspanel (puerto 2106) tienen herramientas de optimización automática integradas. Búscalas en la sección de bases de datos.


Preguntas frecuentes sobre optimización de bases de datos en PrestaShop

¿Con qué frecuencia debo optimizar la base de datos de mi tienda?

Depende del tamaño de tu tienda y del tráfico. Para una tienda pequeña, una vez al mes es suficiente. Para tiendas grandes, te recomiendo hacerlo semanalmente.

¿Puedo optimizar la base de datos sin phpMyAdmin?

Sí, puedes usar la herramienta que trae PrestaShop en el panel de administración (Parámetros avanzados > Rendimiento). Sin embargo, phpMyAdmin te da más control y es más rápido para optimizar todas las tablas a la vez.

¿La optimización puede eliminar mis pedidos o clientes?

No. La optimización de tablas (OPTIMIZE TABLE) solo reorganiza los datos físicamente, no borra nada. Eso sí, la limpieza manual de tablas como ps_cart o ps_log sí elimina datos, pero son datos temporales que no necesitas.

¿Qué hago si la optimización da error?

Si una tabla no se puede optimizar o reparar, puede que esté gravemente dañada. En ese caso, intenta repararla desde la pestaña "SQL" con el comando:

REPAIR TABLE nombre_de_la_tabla;

Si sigue fallando, restaura la tabla desde tu copia de seguridad.

¿Optimizar la base de datos mejora el SEO de mi tienda?

Sí, indirectamente. Google valora la velocidad de carga de las páginas. Una base de datos optimizada hace que las consultas sean más rápidas, lo que reduce el tiempo de carga y mejora tu posicionamiento.


Conclusión

Optimizar la base de datos de PrestaShop con phpMyAdmin es una tarea sencilla que puede transformar el rendimiento de tu tienda. No necesitas ser un experto en MySQL; basta con seguir los pasos que te he explicado: hacer una copia de seguridad, optimizar todas las tablas, reparar las dañadas, limpiar datos basura y, si te atreves, añadir algunos índices.

Recuerda que la constancia es clave. No esperes a que tu tienda vaya lenta: programa una optimización periódica y mantén tu base de datos siempre limpia. Tu tienda cargará más rápido, tus clientes estarán más contentos y Google te lo recompensará con mejores posiciones.

Si tienes cualquier duda, déjala en los comentarios y estaré encantado de ayudarte. ¡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