Aller au contenu
uencoder

Repeatable Read

Repeatable read empêche les lectures sales et les lectures non reproductibles : plusieurs lectures de la même ligne au sein d’une transaction renvoient des résultats identiques, mais les lectures fantômes restent possibles.

Objectif

Offrir une cohérence plus forte que read committed, en garantissant des lectures stables au sein d’une transaction.

Mécanisme

Lors de la première lecture, la transaction verrouille la ligne ou fixe une version d’instantané ; les lectures ultérieures de la même ligne renvoient la même valeur. Mais les requêtes de plage peuvent renvoyer plus de lignes si d’autres transactions insèrent (lectures fantômes). MySQL InnoDB évite les fantômes grâce aux next-key locks.

Cas d’usage

  • Lectures cohérentes au sein des transactions
  • Choix du niveau d’isolation
  • Analyse des lectures fantômes

Outils associés

References