2015-10-13 14 views
6

La tabella di produzione che voglio modificare è di circa 700 Gb. Voglio rimuovere un FK da quel tavolo. La versione di Mysql è 5.1.61-log.Modifica di un grande tavolo mysql 700 gb

ho trovato seguenti opzioni:

pt-online-schema-change: altera la struttura di una tabella senza blocco legge o scrive. Questo sembra più efficiente in termini di tempo di alterazione. Questo si occupa anche del carico del server dividendo la copia della tabella in blocchi e sospende il processo di copia dei dati in caso di carico elevato sul server.

L'unico problema con lo strumento per me è lo spazio disponibile sul server è di 450 GB e non c'è spazio per un'altra unità. Questo strumento funziona su una copia del tavolo che è di circa 700 GB.

Aggiornamento a Mysql 5.6: Con la funzione DDL ONLINE di 5.6, la maggior parte dei tipi di ALTER non bloccherà le scritture su una tabella che viene modificata. Supporta anche Aggiungi/Rilascia un vincolo di chiave esterna senza la necessità di una copia completa della tabella.

Ma non sono sicuro di come si cura il carico del server e quanto tempo ci vorrà per l'alterazione.

C'è qualche altra opzione come pt-online-schema-change che non deve copiare la tabella? Qualche esperienza/commenti su DDL ONLINE di Mysql 5.6?

Grazie in anticipo!

+3

Puoi trovare una risposta migliore su dba.stackexchange.com, che qui. Questo è più di un DBA, che di una domanda sviluppatore. – Shadow

+0

Proporre di migrare questa domanda a dba.stackexchange.com. –

risposta

0

ecco il link alla documentazione ufficiale circa online DDL

E 'inplace e non richiede tavolo copia. Ho appena rimosso FK durante il test di sysbench (btw, sentiti libero di riprodurre il test sull'installazione locale 5.6)

Problemi correlati