Come posso ridurre le dimensioni di un database MySQL?
Software di database, come MySQL, spesso impiega varie tecniche per accelerare la ricerca e la consegna di tutte le informazioni richieste. Nella maggior parte dei casi, queste tecniche assumono la forma di database temporanei creati per fungere da intermedi e aiutarti a recuperare i dati richiesti più velocemente. L’unico aspetto negativo di questi database aggiuntivi è che consumeranno spazio su disco aggiuntivo. In questo articolo, vi mostreremo i vari modi in cui è possibile ridurre le dimensioni del database MySQL.
Come faccio a ridurre le dimensioni di un database MySQL?
Esistono due approcci generali che puoi adottare per ridurre le dimensioni di un database MySQL. È possibile provare a ottimizzare la struttura del database o eliminare tutti i dati non necessari. Di seguito esamineremo entrambe le tecniche in modo più dettagliato.
Come funziona l’ottimizzazione per un database MySQL?
Come accennato in precedenza, i database MySQL spesso creano tabelle interne nel tentativo di accelerare le query di ricerca. Tuttavia, queste tabelle aggiuntive diventano meno efficaci nel tempo quando si aggiungono nuovi dati e si modificano le voci esistenti. Come tale, è una buona idea per ottimizzare il database di volta in volta. Non solo ridurrai le dimensioni complessive del tuo database, ma probabilmente vedrai anche un aumento delle prestazioni!
Hai due opzioni quando si tratta di ottimizzare un database sulla nostra piattaforma di hosting condiviso. È possibile utilizzare il nostro ottimizzatore 1-click che fa parte del nostro Gestore di database o si può andare più hands-on utilizzando gli strumenti forniti da phpMyAdmin.
Come posso ottimizzare un database MySQL utilizzando il Database Manager?
È possibile ottimizzare facilmente e rapidamente tutte le tabelle in un dato database MySQL grazie alla sezione Database Manager del nostro Pannello di controllo. Il Gestore di database sarà a vostra disposizione se si utilizza il nostro sito web hosting gratuito, premium hosting condiviso o uno dei nostri server web semi-dedicati. Per ottimizzare il database, attenersi alla seguente procedura:
- Vai alla sezione Database Manager del nostro Pannello di controllo.
- Fare clic sul nome del database che si desidera ottimizzare.
- Aprire la scheda Gestione.
- Fare clic sull’opzione intitolata Ottimizzazione 1-click.
Una volta eseguite le azioni di cui sopra, tutte le tabelle nel database saranno ottimizzate. Tieni presente che le nostre statistiche di utilizzo del database non vengono aggiornate in tempo reale, quindi potresti non notare una differenza immediata nell’utilizzo del database. Per saperne di più sulle varie funzionalità del nostro Database Manager ha da offrire, si può passare attraverso la nostra guida completa al Database Manager.
Come posso ottimizzare le tabelle di un database MySQL usando phpMyAdmin?
A differenza del nostro gestore di database che ottimizza tutte le tabelle in un colpo solo, phpMyAdmin offre un controllo molto più granulare quando si tratta di quali tabelle dovrebbero essere ottimizzate e quali tabelle dovrebbero rimanere invariate. Di seguito esamineremo due tecniche per ridurre le dimensioni delle tabelle tramite phpMyAdmin: l’opzione Ottimizza e la compressione dei dati dalle tabelle che utilizzano il motore di archiviazione InnoDB.
Oltre all’ottimizzazione della tabella, phpMyAdmin ti offre una pletora di altre opzioni che potresti trovare utili. Puoi saperne di più su questa comoda utility nella nostra panoramica di phpMyAdmin.
Come posso ridurre le dimensioni della mia tabella utilizzando la funzione Ottimizza in phpMyAdmin?
Segui i passaggi seguenti per ottimizzare le tabelle nel tuo database MySQL utilizzando la funzione di ottimizzazione in phpMyAdmin:
- Aprire la sezione Gestione database del Pannello di controllo.
- Fare clic sul nome del database che si desidera ottimizzare.
- Aprire la scheda Gestione.
- Fare clic sull’opzione phpMyAdmin come mostrato di seguito:
- phpMyAdmin ora si aprirà in una nuova scheda e ti verrà presentato l’elenco delle tabelle che compongono il database. Posiziona i segni di spunta davanti alle tabelle che desideri ottimizzare.
- Una volta effettuata la selezione, scegliere l’opzione Ottimizza tabella dal menu a discesa. L’opzione fa parte della sezione Manutenzione tabella:
- Una volta selezionato il comando Ottimizza tabella, verrà eseguito automaticamente e si dovrebbe essere presentato con la query SQL è stata eseguita con successo. messaggio:
Una cosa da tenere a mente è che l’opzione Ottimizza tabella esegue azioni diverse a seconda del motore di archiviazione utilizzato dalle tabelle. Come tale, gli effetti dell’opzione possono variare da tabella a tabella. Ciò è particolarmente vero se si utilizzano diversi motori di archiviazione e se alcune delle tabelle subiscono modifiche regolari mentre altre tabelle rimangono relativamente invariate.
Come faccio a comprimere i dati in un database MySQL?
Come abbiamo già notato, diversi motori di archiviazione sono dotati di diversi set di funzionalità. Una caratteristica standout del InnoDB storage engine è la sua capacità di comprimere i dati senza alcuna perdita di informazioni. La compressione è più efficace se le tabelle hanno colonne che utilizzano TEXT
, BLO
, VARCHAR
, e VARBINARY
tipi di dati.
Per eseguire la compressione su una determinata tabella, è necessario prima assicurarsi che la tabella in questione stia utilizzando InnoDB storage engine. È possibile trovare queste informazioni nella vista struttura del database di phpMyAdmin. Questa vista è più facilmente accessibile facendo clic sul nome del database come mostrato nello screenshot qui sotto:
Una volta nella vista struttura, dovresti vedere un elenco di tutte le tabelle contenute nel tuo database. La colonna che mostra il motore di archiviazione corrente si chiama Tipo ed è evidenziata di seguito:
Se vedi InnoDB elencato come motore di archiviazione sulle tabelle che desideri comprimere, allora sei a posto. Se vedi qualsiasi altro valore, tuttavia, dovresti prima convertire le tue tabelle per utilizzare il motore di archiviazione InnoDB. La conversione viene eseguita eseguendo un breve comando SQL. Per iniziare, passare alla scheda SQL in phpMyAdmin:
Una volta lì, incolla il seguente codice:
ALTER TABLE my_table ENGINE = InnoDB;
Assicurati di sostituire my_table
con il nome della tabella che desideri convertire. Nel nostro esempio, stiamo convertendo una tabella chiamata orders
, quindi il nostro comando sarebbe simile a questo:
ALTER TABLE orders ENGINE = InnoDB;
Dopo aver inserito il comando, fare clic sul pulsante Vai nell’angolo in basso a destra per eseguirlo. In caso di successo, si dovrebbe essere presentato con un messaggio di successo come quello mostrato di seguito:
Se si desidera convertire più tabelle nel motore di archiviazione InnoDB, è necessario eseguire il comando precedente per ciascuna di esse.
Ora che le tabelle utilizzano InnoDB, è possibile procedere con l’effettiva compressione dei dati MySQL. La compressione stessa è un breve comando SQL che deve essere eseguito anche dalla scheda SQL in phpMyAdmin. Ecco il comando:
ALTER TABLE my_table ROW_FORMAT=COMPRESSED;
Proprio come con la conversione della tabella, è necessario sostituire my_table
con il nome effettivo della tabella. Ad esempio, nello screenshot qui sotto stiamo comprimendo la tabella chiamata orders
:
Una volta inserito il comando di compressione, premere il pulsante Vai per eseguirlo. Se si desidera comprimere più tabelle, è possibile farlo eseguendo il comando SQL per ogni tabella.
Come faccio a eliminare le tabelle usando phpMyAdmin?
L’altra alternativa quando si tratta di liberare spazio di archiviazione è rimuovere i dati che non sono più necessari dal database. È possibile eliminare singole voci o intere tabelle.
Per eliminare una tabella, vai alla scheda Struttura per il tuo database in modo da vedere tutte le tue tabelle. Da lì, scegli l’opzione di rilascio accanto alla tabella che desideri eliminare e conferma la tua scelta. Verificare di aver selezionato la tabella corretta prima di confermare l’eliminazione poiché questa azione non può essere annullata.
Se l’eliminazione di un’intera tabella del database non è un’opzione per te, puoi considerare di rimuovere singole voci da tabelle diverse che non ti servono più. Questo può essere ottenuto eseguendo vari comandi SQL. Di seguito, mostreremo un comando SQL molto semplice che può eliminare una singola voce del database.
In questo esempio, useremo la tabella sopra con due righe. L’obiettivo è rimuovere la seconda fila preservando la prima.
Si noterà che tutte le tabelle di solito hanno una colonna id che contiene un numero univoco che identifica la voce data. Nel nostro esempio, la colonna id viene effettivamente chiamata id
, ma le tabelle possono utilizzare una parola diversa come titolo della colonna. Una volta individuata la colonna che memorizza gli identificatori univoci per ogni voce, prendere nota del valore associato alla voce (riga) che si desidera eliminare. Con queste informazioni a portata di mano, passare alla scheda SQL ed eseguire il seguente comando SQL:
DELETE FROM my_table where id_column = 'my_id';
Nel codice di cui sopra è necessario effettuare tre sostituzioni:
-
my_table
dovrebbe essere sostituito con il nome della tabella da cui si sta eliminando. -
id_column
deve essere sostituito con il nome della colonna che memorizza gli identificatori univoci. -
my_id
deve essere sostituito con l’identificatore effettivo per la riga che si desidera eliminare.
Il nostro esempio utilizza la tabella products
. Questa tabella ha una colonna id
e l’identificatore univoco per la voce che vogliamo eliminare è 2
. Quindi il nostro comando SQL dovrebbe assomigliare a questo:
Quando premiamo il pulsante Vai, il comando SQL viene eseguito e l’eliminazione sarà completata. Ora la nostra tabella non contiene più la seconda voce:
Se si utilizza un moderno sistema di gestione dei contenuti come WordPress, Drupal, Joomla o simili, è consigliabile utilizzare gli strumenti di amministrazione backend del CMS per la gestione e la rimozione dei dati. L’eliminazione manuale delle voci dal database dovrebbe essere l’ultima risorsa.
Conclusione
Come proprietario di un sito web, è sempre una buona idea tenere d’occhio l’utilizzo del database. Ciò è particolarmente vero se si utilizza un piano di hosting condiviso e si dispone di un limite alle dimensioni del database. Se ti capita di raggiungere il limite di archiviazione, il tuo sito Web può iniziare a visualizzare tutti i tipi di avvisi e messaggi di errore, come il perplesso messaggio “INSERISCI comando negato all’utente”.