Deadlocks de base de données

L'un des classiques des raisons que nous avons une base de données de l'impasse, c'est quand deux opérations sont l'insertion et la mise à jour de tables dans un ordre différent.

Par exemple, la transaction A inserts de Tableau Un Tableau B.

Et de transaction B insère dans le Tableau B, suivi par A.

Un tel scénario est toujours le risque d'une base de données de blocage (en supposant que vous n'êtes pas à l'aide d'isolation serializable).

Mes questions sont:

  1. Ce genre de motifs que vous suivez dans votre conception pour s'assurer que toutes les transactions sont de l'insertion et de mise à jour dans le même ordre.
    Un livre que je lisais - avait une suggestion que vous pouvez trier les déclarations faites par le nom de la table. Avez-vous fait quelque chose comme ceci ou différents, qui permettrait d'assurer que toutes les insertions et mises à jour sont dans le même ordre?
  2. Ce sujet de la suppression d'enregistrements? Supprimer doit commencer à partir de tables enfants et les mises à jour et des inserts besoin pour commencer à partir de tables parent. Comment vous assurer que ce ne serait pas dans une impasse?

source d'informationauteur RN.