Mysql
 sql >> Database >  >> RDS >> Mysql

Qual è il modo più veloce per importare un backup di database MySQL di grandi dimensioni?

Dipende da come definisci "il più veloce".

Come dice Joel, il tempo degli sviluppatori è costoso. Mysqldump funziona e gestisce molti casi che altrimenti dovresti gestire da solo o passare del tempo a valutare altri prodotti per vedere se li gestiscono.

Le domande pertinenti sono:

Quanto spesso cambia lo schema del database di produzione?

Nota: Mi riferisco all'aggiunta, rimozione o ridenominazione di tabelle, colonne, viste e simili, ad esempio cose che interromperanno il codice effettivo.

Quanto spesso devi inserire i dati di produzione in un ambiente di sviluppo?

Secondo la mia esperienza, non molto spesso. In genere ho scoperto che una volta al mese è più che sufficiente.

Quanto tempo impiega mysqldump?

Se sono meno di 8 ore, può essere eseguito durante la notte come cron job. Problema risolto.

Hai bisogno di tutti i dati?

Un altro modo per ottimizzare questo è semplicemente ottenere un sottoinsieme di dati rilevante. Ovviamente ciò richiede la scrittura di uno script personalizzato per ottenere un sottoinsieme di entità e tutte le entità correlate pertinenti, ma produrrà il risultato finale più rapido. Lo script dovrà anche essere mantenuto attraverso modifiche allo schema, quindi questo è un approccio che richiede tempo e dovrebbe essere utilizzato come ultima risorsa assoluta. I campioni di produzione dovrebbero essere sufficientemente grandi da includere un campione di dati sufficientemente ampio e identificare eventuali problemi di prestazioni potenziali.

Conclusione

Fondamentalmente, usa mysqldump finché non puoi assolutamente. Dedicare tempo a un'altra soluzione è tempo non dedicato allo sviluppo.