sql >> Database >  >> RDS >> Mysql

Waarom is een mysqldump met enkele transactie consistenter dan een zonder?

Omdat de dump zich in één transactie bevindt, krijgt u een consistent beeld van alle tabellen in de database. Dit kan waarschijnlijk het beste worden verklaard door een tegenvoorbeeld. Stel dat u een database dumpt met twee tabellen, Orders en OrderLines

  1. Je begint de dump zonder een enkele transactie.
  2. Een ander proces voegt een rij in de Orders tafel.
  3. Een ander proces voegt een rij in de OrderLines tafel.
  4. De dump verwerkt de OrderLines tafel.
  5. Een ander proces verwijdert de Orders en OrderLines records.
  6. De dump verwerkt de Orders tafel.

In dit voorbeeld zou uw dump de rijen hebben voor OrderLines , maar niet Orders . De gegevens zouden in een inconsistente staat zijn en zouden mislukken bij het herstellen als er een externe sleutel zou zijn tussen Orders en OrderLines .

Als je het in een enkele transactie had gedaan, zou de dump noch de bestelling noch de regels hebben (maar het zou consistent zijn), aangezien beide werden ingevoegd en vervolgens verwijderd nadat de transactie was begonnen.



  1. Toon voortgang van het vullen van een DataSet vanuit MySQL

  2. Panda's schrijven dataframe naar ander postgresql-schema

  3. Star Trek 3D-schaakgegevensmodel

  4. [e-mail beveiligd] installatie:`node-pre-gyp install --fallback-to-build`