Es hängt davon ab, wie Sie "am schnellsten" definieren.
Wie Joel sagt, ist Entwicklerzeit teuer. Mysqldump funktioniert und handhabt viele Fälle, die Sie sonst selbst handhaben oder Zeit damit verbringen müssten, andere Produkte zu evaluieren, um zu sehen, ob sie sie handhaben.
Die relevanten Fragen lauten:
Wie oft ändert sich das Schema Ihrer Produktionsdatenbank?
Hinweis: Ich beziehe mich auf das Hinzufügen, Entfernen oder Umbenennen von Tabellen, Spalten, Ansichten und dergleichen, dh Dinge, die den tatsächlichen Code beschädigen.
Wie oft müssen Sie Produktionsdaten in eine Entwicklungsumgebung stellen?
Meiner Erfahrung nach eher selten. Ich habe im Allgemeinen festgestellt, dass einmal im Monat mehr als ausreichend ist.
Wie lange dauert mysqldump?
Wenn es weniger als 8 Stunden sind, kann es über Nacht als Cron-Job erledigt werden. Problem gelöst.
Benötigen Sie alle Daten?
Eine andere Möglichkeit, dies zu optimieren, besteht darin, einfach eine relevante Teilmenge von Daten zu erhalten. Dies erfordert natürlich, dass ein benutzerdefiniertes Skript geschrieben wird, um eine Teilmenge von Entitäten und alle relevanten zugehörigen Entitäten zu erhalten, aber es wird das schnellste Endergebnis liefern. Das Skript muss auch bei Schemaänderungen gewartet werden, daher ist dies ein zeitaufwändiger Ansatz, der als absolut letzter Ausweg verwendet werden sollte. Produktionsstichproben sollten groß genug sein, um eine ausreichend breite Stichprobe von Daten aufzunehmen und potenzielle Leistungsprobleme zu identifizieren.
Fazit
Verwenden Sie im Grunde nur mysqldump, bis Sie es absolut nicht mehr können. Zeit mit einer anderen Lösung zu verbringen, ist Zeit, die nicht mit der Entwicklung verbracht wird.