Hola @silvia_iberia, es un problema muy común en PrestaShop 1.7 y versiones anteriores. Efectivamente, las tablas ps_cart, ps_guest y ps_connections pueden acumular millones de registros y ralentizar todo. Lo más importante es hacer una copia de seguridad completa de tu base de datos antes de ejecutar cualquier query.
Aquí te dejo unas consultas SQL para purgar estas tablas de forma segura, excluyendo carritos con pedidos asociados y manteniendo un rango de registros recientes para conexiones y visitas. Te recomiendo ejecutarlas directamente desde phpMyAdmin o tu cliente SQL preferido:
Purgar carritos abandonados (excluyendo los que tienen un pedido):
DELETE FROM ps_cart
WHERE id_cart NOT IN (SELECT id_cart FROM ps_orders)
AND date_add < DATE_SUB(NOW(), INTERVAL 90 DAY);
(Esto borrará carritos de más de 90 días sin pedido asociado. Puedes ajustar el INTERVAL)
Purgar registros de invitados (guests) antiguos:
DELETE FROM ps_guest
WHERE id_guest NOT IN (SELECT id_guest FROM ps_cart WHERE date_add > DATE_SUB(NOW(), INTERVAL 90 DAY));
(Borra invitados que no tienen carritos recientes. Asegúrate de que no haya clientes registrados usando IDs de guest directos si no son de tipo 'customer').
Purgar registros de conexiones antiguas:
DELETE FROM ps_connections
WHERE date_add < DATE_SUB(NOW(), INTERVAL 180 DAY);
(Borra conexiones de más de 180 días. Ajusta según tus necesidades de análisis de tráfico).
Después de ejecutar estas consultas, es una buena práctica optimizar las tablas para recuperar el espacio en disco y mejorar el rendimiento:
OPTIMIZE TABLE ps_cart, ps_guest, ps_connections;
Esto debería aliviar bastante la carga de tu base de datos.