Étant donné que le vidage se fait en une seule transaction, vous obtenez une vue cohérente de toutes les tables de la base de données. Ceci est probablement mieux expliqué par un contre-exemple. Supposons que vous videz une base de données avec deux tables, Orders
et OrderLines
- Vous démarrez le vidage sans une seule transaction.
- Un autre processus insère une ligne dans les
Orders
tableau. - Un autre processus insère une ligne dans les
OrderLines
tableau. - Le vidage traite les
OrderLines
tableau. - Un autre processus supprime les
Orders
etOrderLines
enregistrements. - Le dump traite les
Orders
tableau.
Dans cet exemple, votre dump aurait les lignes pour OrderLines
, mais pas Orders
. Les données seraient dans un état incohérent et échoueraient lors de la restauration s'il y avait une clé étrangère entre Orders
et OrderLines
.
Si vous l'aviez fait en une seule transaction, le dump n'aurait ni la commande ni les lignes (mais ce serait cohérent) puisque les deux ont été insérés puis supprimés après le début de la transaction.