首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择事务隔离级别

选择事务隔离级别
EN

Stack Overflow用户
提问于 2019-05-28 10:00:09
回答 1查看 697关注 0票数 4

这里没有具体的例子,我只是想了解不同级别的事务隔离,以及如何决定哪一种情况最适合于给定的情况。

我试图考虑一些情况,在这种情况下,我希望事务是不可串行化的,而不是在我愿意放弃一点数据完整性的情况下提高性能。

有人能提供一个例子,说明“读未提交”、“读已提交”和/或“可重复读”是较好的隔离级别吗?

EN

回答 1

Stack Overflow用户

发布于 2019-05-28 10:32:31

使用可序列化的隔离级别不仅有好处,而且也有缺点:

  • 您必须接受增加的性能开销。
  • 您必须通过重做事务来处理序列化错误,这会使应用程序代码复杂化,如果经常发生这种情况,会损害性能。

我将为其他事务级别提供用例。这份清单当然不完整:

  1. READ UNCOMMITTED:如果您请求这个隔离级别,实际上您将得到READ COMMITTED。所以这个隔离级别是不相关的。在使用读锁的数据库系统上,可以使用隔离级别来避免这些锁。
  2. READ COMMITTED:如果您已经准备好通过锁定希望稳定的行来处理并发事务,那么这是最好的隔离级别。最大的优点是,您永远不必处理序列化错误(除非遇到死锁)。
  3. REPEATABLE READ:这个隔离级别非常适合长时间运行的只读事务,这些事务希望看到数据库的一致状态。主要的例子是pg_dump
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56339652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档