2009-06-15 10 views
0

Si vous avez besoin de minimiser autant que possible les accès simultanés, quel niveau d'isolement (lecture répétable, sérialisable, lecture validée, lecture non validée) fonctionnerait le mieux?Quel mode d'isolation devez-vous choisir si vous voulez le moins de concurrence?

+0

Veuillez indiquer la marque de base de données que vous utilisez. Les niveaux d'isolation des transactions varient selon la marque de SGBDR dans leur comportement et leur terminologie. –

+1

Il pourrait être utile d'expliquer pourquoi vous voulez minimiser la concurrence. Cela revient à minimiser les performances, ce qui n'est généralement pas ce que les gens demandent. –

+0

@Bill Karwin: Je suppose qu'il voulait dire la norme SQL –

Répondre

0

Je devine que vous voulez vraiment maximiser concurrency autant que possible ici, pour augmenter les performances. Malheureusement, choisir simplement un mode d'isolation ne fera pas l'affaire. La vraie question à propos de ces modes d'isolation est, pouvez-vous les utiliser dans votre application particulière?

Cela dépend vraiment des détails intimes de votre application, et ce n'est probablement pas quelque chose que nous pouvons déboguer sur Stack Overflow.

Cependant, en général, en supposant que vous ne recevez pas la corruption de données, de la plupart simultanée au moins, les niveaux d'isolement pour Oracle sont:

  1. lire lecture non validée
  2. commis
  3. répétable lire
  4. sérialisable.

Il est différent pour, disons, PostgreSQL, car il utilise un modèle de synchronisation différent (MVCC), où la lecture est libre, mais quand vous écrivez courir le risque de retour en arrière. Je suppose que la vraie réponse à cette question est, demander et obtenir des pistes à plusieurs jours de matériel d'étude, ou tout simplement embaucher quelqu'un pour faire face à votre situation particulière. Bien que ce soit très technique, il n'y a pas de règles strictes: vous devez comprendre à la fois la théorie derrière ce qui se passe et la situation spécifique afin de faire une recommandation utile.