0

如果您需要尽可能减少并发性,哪种隔离级别(可重复读取、可序列化、已提交读取、未提交读取)效果最好?

4

2 回答 2

1

可序列化提供最大的隔离性,因此最小的并发性。

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

于 2009-06-15T18:57:29.007 回答
0

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

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

但是,一般来说,假设您没有数据损坏,从最高并发到最低并发,Oracle 的隔离级别是:

  1. 读未提交
  2. 读已提交
  3. 可重复阅读
  4. 可序列化的。

例如,PostgreSQL 是不同的,因为它使用不同的同步模型 ( MVCC ),其中读取是免费的,但是当您编写时,您会冒回滚的风险。

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

于 2009-06-15T19:09:47.813 回答