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.