Pulizia database PrestaShop: quali tabelle crescono e come alleggerirle
La pulizia del database PrestaShop significa rimuovere i vecchi dati che al negozio non servono più: storico delle visite, carrelli abbandonati dagli ospiti, vecchie voci del log e tabelle lasciate da moduli disinstallati. Parti misurando le dimensioni delle tabelle, fai un backup del database, poi elimina le righe più vecchie di una data scelta, a blocchi. Non toccare i carrelli che hanno ordini.
Autore: Il team TellMyShop. Una guida per i titolari di negozi PrestaShop: la causa, la correzione a mano e lo stesso lavoro in una conversazione in chat.
Ultimo aggiornamento: · 7 min di lettura
Perché il database PrestaShop cresce quando il numero di prodotti no?
Perché il negozio registra ogni visita. I moduli statistiche annotano chi è arrivato, da dove e quali pagine ha visto. Dopo qualche anno queste tabelle possono essere più grandi dell'intero catalogo. A queste si aggiungono i carrelli degli ospiti che non hanno comprato nulla, le voci del log degli errori e le tabelle di moduli disinstallati senza fare pulizia.
Il team di PrestaShop scrive nella sua guida su come prendersi cura del negozio che alcune tabelle con il tempo possono diventare molto grandi, mentre i dati che contengono smettono di servire. Tra queste elenca le tabelle delle connessioni, che si possono ripulire regolarmente dalle voci vecchie.
Un database grande di solito si fa notare così:
- il back office si carica lentamente, soprattutto la dashboard e le statistiche,
- il backup presso l'hosting dura sempre di più o supera il limite,
- l'hosting avvisa dello spazio su disco o del limite del database.
Quando è lento il negozio vero e proprio, la causa di solito sta altrove. Una diagnosi più ampia la descriviamo nella guida PrestaShop lento.
Quali tabelle puoi pulire e quali lasciare stare?
I nomi qui sotto usano il prefisso predefinito ps_. Il tuo negozio può averne un altro, impostato all'installazione.
| Tabella | Cosa contiene | Si può pulire | Nota |
|---|---|---|---|
ps_connections, ps_connections_page, ps_connections_source | storico delle visite per le statistiche | sì, le righe più vecchie di una data scelta | le statistiche di quel periodo spariscono; le tabelle contengono indirizzi IP |
ps_guest | dati tecnici degli ospiti (browser, sistema) | con attenzione | le righe possono essere collegate a carrelli e clienti |
ps_cart, ps_cart_product | carrelli | solo i vecchi carrelli senza ordine | un carrello con un ordine fa parte dello storico delle vendite |
ps_log | log degli errori e delle azioni nel back office | sì, le voci vecchie | tieni le ultime settimane per la diagnosi |
ps_pagenotfound | URL con errore 404 | sì, le voci vecchie | quelle recenti servono per i redirect |
ps_statssearch | frasi dalla ricerca del negozio | sì, le voci vecchie | sono informazioni preziose sui clienti, valuta un'esportazione |
ps_mail | log delle email inviate | sì, le voci vecchie | contiene gli indirizzi email dei clienti |
| tabelle di vecchi moduli | dati di moduli che non ci sono più | dopo aver controllato di chi sono | il modulo potrebbe essere solo disattivato |
ps_orders, ps_customer, ps_product e simili | dati di vendite, clienti e catalogo | no | è il cuore del negozio, non materiale da pulire |
Le soglie, per esempio «più vecchio di un anno», le decidi tu. Dipendono da quanto a lungo ti servono le statistiche e da cosa dicono le tue regole di conservazione dei dati.
Per visualizzare i dati PrestaShop ha la Gestione SQL in Parametri avanzati → Database. La guida utente di PrestaShop 8 spiega che è uno strumento per chi conosce SQL e che blocca le query che cambiano i dati, come DELETE. La pulizia vera e propria si fa quindi fuori dal back office, in phpMyAdmin presso l'hosting o con un modulo di pulizia.
Come pulire il database in sicurezza, passo per passo?
Questa lista è per il tuo sviluppatore, o per te se lavori in phpMyAdmin e capisci cosa stai facendo.
- Fai un backup completo del database presso l'hosting e controlla che si possa scaricare.
- Misura le dimensioni delle tabelle. Ordinale dalla più grande. Spesso due o tre tabelle fanno quasi tutto il peso.
- Decidi il periodo da conservare per ogni tabella della lista di pulizia, per esempio 12 mesi di statistiche e 30 giorni di log.
- Elimina le righe più vecchie di una data, a blocchi, invece di svuotare tabelle intere. Una sola grande eliminazione può bloccare il database a lungo.
- Controlla il negozio dopo ogni blocco: back office, statistiche, carrello, un ordine di prova.
- Recupera lo spazio su disco. Dopo l'eliminazione delle righe, spesso una tabella non si riduce da sola. L'ottimizzazione delle tabelle di solito la fa l'hosting o uno sviluppatore.
- Annota cosa hai eliminato e quando, così la prossima pulizia non parte da zero.
PrestaHero descrive query di esempio e un approccio a queste tabelle. Alcune guide consigliano di svuotare del tutto le tabelle. È più veloce, ma perdi tutto lo storico in un colpo, quindi eliminare per data è più prudente.
Come aiuta la chat a valutare e pulire il database?
La cosa più sicura è partire dalla sola lettura. In TellMyShop Pro la tua chat (Claude o ChatGPT) legge il database del negozio senza nessun interruttore acceso, quindi può contare dimensioni delle tabelle e numero di righe e indicare gli avanzi dei moduli. Nel farlo non cambia niente.
Tu: Il database pesa diversi gigabyte. Controlla cosa occupa spazio. Non eliminare niente.
La tua chat: Le tabelle più grandi sono lo storico delle visite e le pagine visitate. Insieme fanno la maggior parte del database. Al terzo posto c'è il log degli errori, dove la maggior parte delle voci ha più di un anno. Ho trovato anche tabelle di un modulo slider che non è più nell'elenco dei moduli. Lo storico delle visite contiene indirizzi IP, quindi con l'attuale livello di accesso ai dati dei clienti non ne vedo il contenuto. Propongo un piano: voci del log più vecchie di 90 giorni, le tabelle dello slider a tua decisione, e lo storico delle visite più vecchio di 12 mesi descritto come attività per uno sviluppatore. I carrelli con ordini non li tocco.
Tu: Comincia dal log. Mostrami esattamente cosa elimini.
La tua chat: Anteprima del primo blocco:
Il salvataggio richiede l'interruttore Manutenzione. Il modulo ha fatto oggi un backup del database, quindi puoi accenderlo.
versione precedente: voci del log precedenti al 2026-07-13
nuova versione: le voci dal 2026-07-13 in poi restano
Numeri e date dell'esempio sono inventati. La chat ti darà quelli reali del tuo negozio.
Cosa richiede ogni passaggio:
- Misura e piano sono una lettura del database, disponibile subito in TellMyShop Pro.
- L'eliminazione delle righe rientra nell'interruttore Manutenzione, che dà accesso tecnico completo a database e file. Dura 3 ore e puoi accenderlo solo con un backup del database riuscito dello stesso giorno.
- Ogni blocco è una modifica a parte con un'anteprima e la tua approvazione. Finisce nella cronologia delle modifiche.
Qualche avvertenza onesta. Le tabelle con indirizzi IP ed email, come lo storico delle visite o il log delle email, il modulo le tratta come dati dei clienti. Di default la chat non ne vede il contenuto. Puoi accendere temporaneamente un livello più alto di accesso ai dati dei clienti, indicando lo scopo, oppure affidare quella parte a uno sviluppatore. La chat preparerà allora una descrizione dell'attività per lui. Una grande pulizia richiede tempo, e i limiti orari di lavoro li imposti nel pannello del modulo. Prima di un lavoro più grande la chat controlla se ci sta e propone delle fasi. L'ottimizzazione delle tabelle dopo l'eliminazione e l'ampliamento del database presso l'hosting li lasciamo al tuo hosting o a uno sviluppatore.
Quando pulisci il database conviene rivedere anche i moduli stessi. Ti aiuterà la guida sui moduli PrestaShop inutilizzati. Richieste di esempio le trovi nei casi d'uso righe orfane e avanzi nel database e un report personalizzato dai dati del negozio.
Ogni quanto pulire il database del negozio?
Basta controllare le dimensioni delle tabelle una volta al trimestre o ogni sei mesi e confrontarle con la misura precedente. Se una tabella cresce in fretta, vale la pena chiedersi quale modulo ci scrive e se quel modulo ti serve. A volte spegnere statistiche che nessuno usa è una soluzione migliore di una pulizia regolare.
Lo stato del negozio puoi controllarlo in TellMyShop Free. La lettura del database e la pulizia con anteprima funzionano in TellMyShop Pro; i prezzi sono nella pagina prezzi.
Domande e risposte
Un database grande rallenta un negozio PrestaShop?
Può rallentare il back office, le statistiche e i backup, più di rado il negozio vero e proprio. Le tabelle che crescono di più di solito sono quelle con lo storico delle visite, che al negozio non servono per vendere. Prima di eliminare qualsiasi cosa, controlla quali tabelle sono davvero grandi.
Posso svuotare la tabella ps_connections?
Di solito sì, perché contiene lo storico delle visite per i moduli statistiche. Dopo l'eliminazione perdi quelle statistiche per il periodo eliminato. È più sicuro eliminare le righe più vecchie di una data scelta che svuotare tutta la tabella, e sempre con un backup del database.
Eliminare i vecchi carrelli è sicuro?
Solo i carrelli che non sono diventati un ordine. Un carrello collegato a un ordine fa parte dello storico delle vendite e non va toccato. Una pulizia del genere dovrebbe prepararla uno sviluppatore che conosce la struttura del tuo database.
Basta il backup del database fatto da TellMyShop?
TellMyShop Pro fa un backup dell'intero database prima della prima modifica del giorno, e senza di esso non puoi accendere l'interruttore Manutenzione. Prima di una grande pulizia conviene avere anche un tuo backup presso l'hosting. Due backup indipendenti sono un minimo sensato quando elimini dati.
TellMyShop Free mostra cosa occupa spazio nel database?
No. TellMyShop Free legge solo report già pronti: prodotti, SEO, vendite, log ed elenco dei moduli. La lettura del database, comprese le dimensioni delle tabelle, funziona in TellMyShop Pro senza accendere nessun interruttore.
PrestaShop è un marchio registrato di PrestaShop SA. Claude è un marchio di Anthropic PBC. ChatGPT e OpenAI sono marchi di OpenAI. TellMyShop non è affiliato a queste aziende.