sql >> Database >  >> RDS >> Mysql

Wat is de snelste manier om een ​​grote mysql-databaseback-up te importeren?

Het hangt ervan af hoe je "snelste" definieert.

Zoals Joel zegt, ontwikkeltijd is duur. Mysqldump werkt en behandelt veel zaken die u anders zelf zou moeten doen of tijd zou besteden aan het evalueren van andere producten om te zien of ze deze afhandelen.

De relevante vragen zijn:

Hoe vaak verandert het schema van uw productiedatabase?

Opmerking: Ik verwijs naar het toevoegen, verwijderen of hernoemen van tabellen, kolommen, weergaven en dergelijke, dat wil zeggen dingen die de werkelijke code zullen breken.

Hoe vaak moet u productiegegevens in een ontwikkelomgeving plaatsen?

In mijn ervaring helemaal niet vaak. Ik heb over het algemeen gemerkt dat één keer per maand meer dan voldoende is.

Hoe lang duurt mysqldump?

Als het minder dan 8 uur is, kan het 's nachts worden gedaan als een cron-job. Probleem opgelost.

Heeft u alle gegevens nodig?

Een andere manier om dit te optimaliseren, is door simpelweg een relevante subset van gegevens te verkrijgen. Hiervoor moet natuurlijk een aangepast script worden geschreven om een ​​subset van entiteiten en alle relevante gerelateerde entiteiten te krijgen, maar dit zal het snelste eindresultaat opleveren. Het script moet ook worden onderhouden door middel van schemawijzigingen, dus dit is een tijdrovende aanpak die als absoluut laatste redmiddel moet worden gebruikt. Productiemonsters moeten groot genoeg zijn om een ​​voldoende brede steekproef van gegevens te bevatten en mogelijke prestatieproblemen te identificeren.

Conclusie

Kortom, gebruik gewoon mysqldump totdat u het absoluut niet meer kunt. Tijd besteden aan een andere oplossing is tijd die niet wordt besteed aan het ontwikkelen.



  1. een mysql-tabel maken vanuit een inner join

  2. Problemen met GROUP_CONCAT en Longtext in MySQL

  3. invoegen indien niet bestaat anders selecteer gewoon in mysql

  4. Online versus offline back-up