Itu tergantung pada bagaimana Anda mendefinisikan "tercepat".
Seperti yang dikatakan Joel, waktu pengembang itu mahal. Mysqldump bekerja dan menangani banyak kasus yang seharusnya Anda tangani sendiri atau menghabiskan waktu mengevaluasi produk lain untuk melihat apakah mereka menanganinya.
Pertanyaan terkait adalah:
Seberapa sering skema database produksi Anda berubah?
Catatan: Yang saya maksud adalah menambahkan, menghapus, atau mengganti nama tabel, kolom, tampilan, dan sejenisnya, yaitu hal-hal yang akan merusak kode sebenarnya.
Seberapa sering Anda perlu memasukkan data produksi ke dalam lingkungan pengembangan?
Menurut pengalaman saya, tidak terlalu sering sama sekali. Saya biasanya menemukan bahwa sebulan sekali sudah lebih dari cukup.
Berapa lama waktu yang dibutuhkan mysqldump?
Jika kurang dari 8 jam bisa dilakukan semalaman sebagai cron job. Masalah terpecahkan.
Apakah Anda memerlukan semua data?
Cara lain untuk mengoptimalkan ini adalah dengan mendapatkan subset data yang relevan. Tentu saja ini memerlukan skrip khusus untuk ditulis untuk mendapatkan subset entitas dan semua entitas terkait yang relevan tetapi akan menghasilkan hasil akhir tercepat. Skrip juga perlu dipertahankan melalui perubahan skema sehingga ini adalah pendekatan yang memakan waktu yang harus digunakan sebagai upaya terakhir yang mutlak. Sampel produksi harus cukup besar untuk menyertakan sampel data yang cukup luas dan mengidentifikasi potensi masalah kinerja.
Kesimpulan
Pada dasarnya, gunakan saja mysqldump sampai Anda benar-benar tidak bisa. Menghabiskan waktu untuk solusi lain bukanlah waktu yang dihabiskan untuk mengembangkan.