Hola @alba_bici,
Entiendo perfectamente tu preocupación. El crecimiento de ps_cart, ps_guest y ps_connections es un problema común en PrestaShop 1.7, especialmente en tiendas con mucho tráfico o ataques de bots. La buena noticia es que se puede limpiar de forma segura.
Pasos recomendados:
Modo Mantenimiento: Lo primero es poner tu tienda en modo mantenimiento. Ve a Parámetros de la tienda > General y activa la opción 'Activar el modo de mantenimiento'.
Backup: Realiza una copia de seguridad completa de tu base de datos.
Ejecutar consultas SQL (con precaución): Puedes usar phpMyAdmin o tu herramienta de gestión de bases de datos para ejecutar estas consultas. Te recomiendo empezar con datos de hace al menos 6 o 12 meses, según tu volumen.
Limpiar ps_connections (registros de conexión):
DELETE FROM ps_connections
WHERE date_add < DATE_SUB(NOW(), INTERVAL 6 MONTH);
(Esto borrará conexiones de más de 6 meses. Puedes ajustar 6 MONTH a 1 YEAR si prefieres.)
Limpiar ps_guest (sesiones de invitados):
DELETE FROM ps_guest
WHERE date_add < DATE_SUB(NOW(), INTERVAL 6 MONTH);
(Similar a ps_connections, ajusta el intervalo.)
Limpiar ps_cart (carritos abandonados NO asociados a pedidos): Esta es la más delicada. Solo borraremos carritos que no tienen un pedido asociado en ps_orders y que sean antiguos.
DELETE pc FROM ps_cart pc
LEFT JOIN ps_orders po ON pc.id_cart = po.id_cart
WHERE po.id_cart IS NULL
AND pc.date_add < DATE_SUB(NOW(), INTERVAL 6 MONTH);
(Esta consulta asegura que solo se eliminen los carritos que nunca se convirtieron en un pedido y que tienen más de 6 meses de antigüedad.)
Optimizar Tablas: Después de eliminar una gran cantidad de registros, las tablas pueden quedar fragmentadas y seguir ocupando mucho espacio en disco. Para recuperar ese espacio, optimiza cada tabla:
OPTIMIZE TABLE ps_connections;
OPTIMIZE TABLE ps_guest;
OPTIMIZE TABLE ps_cart;
Desactivar Modo Mantenimiento: Una vez finalizado y comprobado, desactiva el modo mantenimiento.
Este proceso es seguro si sigues los pasos, especialmente el backup y la consulta de ps_cart que verifica la existencia de un pedido. En PrestaShop 1.7.6.5, esta es la forma más directa de hacerlo.