如果您想要最少的并发,您应该选择哪种隔离模式?

时间:2009-06-15 18:55:04

标签: sql database isolation

如果您需要尽可能地减少并发性,哪种隔离级别(可重复读取,可序列化,读取提交,读取未注册)最适合?

2 个答案:

答案 0 :(得分:1)

Serializable提供最大的隔离,因此最少并发。

http://en.wikipedia.org/wiki/Isolation_(database_systems)

答案 1 :(得分:0)

我猜你真的想在这里尽可能最大化并发性,以提高性能。不幸的是,简单地选择隔离模式是行不通的。关于这些隔离模式的真正问题是,您可以在特定的应用程序中使用它们吗?

这实际上取决于应用程序的私密细节,而这可能不是我们可以在Stack Overflow上调试的。

但是,一般情况下,假设您没有从大多数并发到最少的数据损坏,Oracle的隔离级别是:

  1. 读取未提交的
  2. read committed
  3. 可重复阅读
  4. 序列化的。
  5. 它与PostgreSQL不同,因为它使用不同的同步模型(MVCC),其中读取是免费的,但是当你编写时,你冒着回滚的风险。

    我想这个问题的真正答案是,询问并获得多天的学习材料,或者只是聘请某人来处理你的特殊情况。虽然它非常技术性,但没有严格的规则:你需要了解正在发生的事情背后的理论和具体情况才能提出有用的建议。