sql >> Databasteknik >  >> RDS >> Mysql

Vad är det snabbaste sättet att importera en stor säkerhetskopia av mysql-databas?

Det beror på hur du definierar "snabbast".

Som Joel säger är tid för utvecklare dyr. Mysqldump fungerar och hanterar många ärenden som du annars skulle behöva hantera själv eller lägga tid på att utvärdera andra produkter för att se om de hanterar dem.

De relevanta frågorna är:

Hur ofta ändras ditt produktionsdatabasschema?

Obs! Jag syftar på att lägga till, ta bort eller byta namn på tabeller, kolumner, vyer och liknande, dvs saker som bryter den faktiska koden.

Hur ofta behöver du lägga produktionsdata i en utvecklingsmiljö?

Enligt min erfarenhet inte särskilt ofta alls. Jag har generellt sett att en gång i månaden är mer än tillräckligt.

Hur lång tid tar mysqldump?

Om det är mindre än 8 timmar kan det göras över natten som ett cron-jobb. Problem löst.

Behöver du all information?

Ett annat sätt att optimera detta är att helt enkelt få en relevant delmängd av data. Naturligtvis kräver detta att ett anpassat skript skrivs för att få en delmängd av entiteter och alla relevanta relaterade enheter men kommer att ge det snabbaste slutresultatet. Skriptet kommer också att behöva underhållas genom schemaändringar så detta är ett tidskrävande tillvägagångssätt som bör användas som en absolut sista utväg. Produktionsproverna bör vara tillräckligt stora för att inkludera ett tillräckligt brett urval av data och identifiera eventuella prestandaproblem.

Slutsats

I princip, använd bara mysqldump tills du absolut inte kan. Att lägga tid på en annan lösning är tid som inte går åt till att utveckla.



  1. syntaxfel, oväntat 'mysql_connect' (T_STRING)

  2. SQL-fråga för att få aggregerade resultat i kommaavgränsare tillsammans med grupp för kolumn i SQL Server

  3. Se till att en PHP-array endast har sekventiella nycklar

  4. Hur man beräknar rang i MySQL