To zależy od tego, jak zdefiniujesz „najszybszy”.
Jak mówi Joel, czas programisty jest drogi. Mysqldump działa i obsługuje wiele spraw, którymi w innym przypadku musiałbyś się zająć sam lub spędzać czas na ocenie innych produktów, aby sprawdzić, czy sobie z nimi poradzą.
Istotne pytania to:
Jak często zmienia się schemat produkcyjnej bazy danych?
Uwaga: Mam na myśli dodawanie, usuwanie lub zmianę nazwy tabel, kolumn, widoków i tym podobnych rzeczy, które psują rzeczywisty kod.
Jak często trzeba umieszczać dane produkcyjne w środowisku programistycznym?
Z mojego doświadczenia wynika, że niezbyt często. Ogólnie uważam, że raz w miesiącu jest więcej niż wystarczający.
Ile czasu zajmuje mysqldump?
Jeśli jest to mniej niż 8 godzin, można to zrobić w nocy jako zadanie cron. Problem rozwiązany.
Czy potrzebujesz wszystkich danych?
Innym sposobem na zoptymalizowanie tego jest po prostu uzyskanie odpowiedniego podzbioru danych. Oczywiście wymaga to napisania niestandardowego skryptu, aby uzyskać podzbiór encji i wszystkie powiązane encje, ale przyniesie najszybszy wynik końcowy. Skrypt będzie również musiał być utrzymywany poprzez zmiany schematu, więc jest to czasochłonne podejście, które powinno być stosowane w absolutnej ostateczności. Próbki produkcyjne powinny być wystarczająco duże, aby zawierać wystarczająco szeroką próbkę danych i identyfikować wszelkie potencjalne problemy z wydajnością.
Wniosek
Zasadniczo po prostu używaj mysqldump, dopóki absolutnie nie możesz. Spędzanie czasu na innym rozwiązaniu to czas, którego nie poświęca się na rozwój.