这里没有具体的例子,我只是想了解不同级别的事务隔离,以及如何决定哪一种情况最适合于给定的情况。
我试图考虑一些情况,在这种情况下,我希望事务是不可串行化的,而不是在我愿意放弃一点数据完整性的情况下提高性能。
有人能提供一个例子,说明“读未提交”、“读已提交”和/或“可重复读”是较好的隔离级别吗?
发布于 2019-05-28 10:32:31
使用可序列化的隔离级别不仅有好处,而且也有缺点:
我将为其他事务级别提供用例。这份清单当然不完整:
READ UNCOMMITTED:如果您请求这个隔离级别,实际上您将得到READ COMMITTED。所以这个隔离级别是不相关的。在使用读锁的数据库系统上,可以使用隔离级别来避免这些锁。READ COMMITTED:如果您已经准备好通过锁定希望稳定的行来处理并发事务,那么这是最好的隔离级别。最大的优点是,您永远不必处理序列化错误(除非遇到死锁)。REPEATABLE READ:这个隔离级别非常适合长时间运行的只读事务,这些事务希望看到数据库的一致状态。主要的例子是pg_dump。https://stackoverflow.com/questions/56339652
复制相似问题