Det afhænger af, hvordan du definerer "hurtigst".
Som Joel siger, er udviklertid dyrt. Mysqldump fungerer og håndterer en masse sager, som du ellers skulle håndtere selv eller bruge tid på at vurdere andre produkter for at se, om de håndterer dem.
De relevante spørgsmål er:
Hvor ofte ændres dit produktionsdatabaseskema?
Bemærk: Jeg refererer til at tilføje, fjerne eller omdøbe tabeller, kolonner, visninger og lignende, dvs. ting, der vil bryde den faktiske kode.
Hvor ofte skal du lægge produktionsdata ind i et udviklingsmiljø?
Efter min erfaring slet ikke særlig ofte. Jeg har generelt fundet ud af, at en gang om måneden er mere end tilstrækkeligt.
Hvor lang tid tager mysqldump?
Hvis det er mindre end 8 timer, kan det gøres natten over som et cron-job. Problem løst.
Har du brug for alle data?
En anden måde at optimere dette på er blot at få en relevant delmængde af data. Dette kræver selvfølgelig, at der skrives et brugerdefineret script for at få et undersæt af entiteter og alle relevante relaterede enheder, men det vil give det hurtigste slutresultat. Scriptet skal også vedligeholdes gennem skemaændringer, så dette er en tidskrævende tilgang, der bør bruges som en absolut sidste udvej. Produktionsprøver bør være store nok til at omfatte et tilstrækkeligt bredt udvalg af data og identificere eventuelle potentielle ydeevneproblemer.
Konklusion
Grundlæggende skal du bare bruge mysqldump, indtil du absolut ikke kan. At bruge tid på en anden løsning er tid, der ikke bruges på at udvikle.