Si tienes un sitio Prestashop hace años, sientes que su velocidad ya no es la misma, y/o notas que la Base de Datos es increíblemente pesada, puede que este articulo sea para ti.
IMPORTANTE AVISO DE PRECAUCION
Este Articulo es AVANZADO, incluye la modificación de una Base de Datos en producción, no se recomienda para personas sin experiencia avanzada en MySQL-Prestashop y que estén seguros de que hacen los comandos MySQL que se utilizarán. Hacer respaldos es importante, y siempre es tu responsabilidad.
Los comandos fueron obtenidos de https://gist.github.com/julienbourdeau/cca88e986a75e19488c2397f1386a3dc
Esta documentación está basada en 2 casos que hemos visto.
Primero decirte que si tu base de datos tiene 1 o 2 millones de valores/filas o pesa 1-2 GB, tu base de datos no es grande todavía, y es poco probable que este tutorial te sirva para mejorar la velocidad de tu sitio Prestashop.
Pero si tu base de datos Prestashop tiene 50-100 millones de valores/filas y/o pesa 10+GB, sin duda esto puede ayudarte.
¿En que me fijo para optimizar la base de datos de Prestashop?
- Primero, debes entrar al phpmyadmin para administrar tu base de datos
- Haz click en tu BD y haz click en «Filas» para ordenar por las que son mas masivas o pesadas, aqui un ejemplo:
- Entonces, para limpiar las tablas ps_connections y ps_guest puedes ir a la pestaña «SQL» y ejecutar estos dos comandos:
Optimizar tabla ps_connections en Prestashop:
Este comando SQL eliminará las estadisticas de conexiones desde el 01 de Enero del 2024 hacia atrás, puedes actualizar la fecha para cambiar año, mes y dia. Finalmente optimizará la tabla ps_connections
DELETE c, cs
FROM ps_connections c
LEFT JOIN ps_connections_source cs ON (c.id_connections = cs.id_connections)
WHERE c.date_add < '2024-01-01 00:00:00';
OPTIMIZE TABLE ps_connections, ps_connections_source;
Optimizar tabla ps_guest en Prestashop:
Este comando SQL eliminará las estadisticas de las visitas/visitantes que no tienen cuenta de cliente. Finalmente optimizará la tabla ps_guest
DELETE g
FROM ps_guest g
LEFT JOIN ps_customer c ON (g.id_customer = c.id_customer)
WHERE c.id_customer IS NULL;
OPTIMIZE TABLE ps_guest;
Luego puedes verificar nuevamente el tamaño y cantidad de filas en ambas tablas ps_connections y ps_guest de tu sitio Prestashop.