Záleží na tom, jak definujete „nejrychlejší“.
Jak říká Joel, čas vývojářů je drahý. Mysqldump funguje a řeší spoustu případů, které byste jinak museli řešit sami nebo trávit čas hodnocením jiných produktů, abyste zjistili, zda je zvládají.
Příslušné otázky jsou:
Jak často se schéma vaší produkční databáze mění?
Poznámka: Mám na mysli přidávání, odstraňování nebo přejmenování tabulek, sloupců, pohledů a podobně, tj. věcí, které naruší skutečný kód.
Jak často potřebujete vkládat produkční data do vývojového prostředí?
Podle mých zkušeností vůbec ne moc často. Obecně jsem zjistil, že jednou za měsíc je více než dostačující.
Jak dlouho mysqldump trvá?
Pokud je to méně než 8 hodin, lze to provést přes noc jako cron. Problém vyřešen.
Potřebujete všechna data?
Dalším způsobem, jak to optimalizovat, je jednoduše získat relevantní podmnožinu dat. Samozřejmě to vyžaduje napsání vlastního skriptu pro získání podmnožiny entit a všech relevantních souvisejících entit, ale přinese to nejrychlejší konečný výsledek. Skript bude také nutné udržovat prostřednictvím změn schématu, takže se jedná o časově náročný přístup, který by měl být použit jako absolutní poslední možnost. Výrobní vzorky by měly být dostatečně velké, aby zahrnovaly dostatečně široký vzorek dat a identifikovaly případné problémy s výkonem.
Závěr
V zásadě používejte mysqldump, dokud to absolutně nemůžete. Trávit čas nad jiným řešením je čas, který nestrávíte vývojem.