Mise à jour: explication décantées et corrigée.
Les niveaux d'isolement indiquent simplement quelle partie de votre transaction est affectée par d'autres transactions simultanées. Plus le niveau d'isolation est élevé, moins il est affecté.
L'effort se manifestera par la charge du processeur, la charge de la mémoire et peut-être la latence de validation. En outre, les conflits d'écriture peuvent être plus probables dans les niveaux d'isolation supérieurs, ce qui peut signifier que vous devez annuler votre transaction et réessayer le tout. (Cela affecte uniquement les transactions qui effectuent des mises à jour ou des insertions, et non les transactions qui effectuent uniquement des sélections.)
En général, la règle de base consiste à utiliser le niveau le plus bas qui donne à votre application la cohérence dont elle a besoin.
L'isolation de transaction partielle fournie par le mode Read Committed est adéquate pour de nombreuses applications, et ce mode est rapide et simple à utiliser; Cependant, ce n'est pas suffisant pour tous les cas. Les applications qui effectuent des requêtes complexes et des mises à jour peuvent nécessiter une vue plus rigoureusement cohérente de la base de données que le mode Read Committed.
Le mode sérialisable fournit une garantie rigoureuse que chaque transaction voit une vue entièrement cohérente de la base de données. Cependant, l'application doit être prête à réessayer des transactions lorsque des mises à jour simultanées rendent impossible le maintien de l'illusion de l'exécution en série. Comme le coût de la reprise des transactions complexes peut être important, le mode sérialisable est recommandé uniquement lorsque la mise à jour des transactions contient une logique suffisamment complexe pour donner des réponses erronées en mode Lecture validée. Le plus souvent, le mode sérialisable est nécessaire lorsqu'une transaction exécute plusieurs commandes successives qui doivent afficher des vues identiques de la base de données.
(http://www.postgresql.org/docs/8.4/interactive/transaction-iso.html est très agréable.)
Que pouvons-nous ajouter à ce que l'article dit déjà? – skaffman