gpt4 book ai didi

java - 关于可序列化事务的一些疑问?

转载 作者:搜寻专家 更新时间:2023-11-01 03:43:50 26 4
gpt4 key购买 nike

我读过提交隔离可以提供比可序列化隔离级别高得多的并发性。

我的问题是读取提交隔离如何提供比序列化更多的并发性?。一个简短的场景将是一个很大的帮助

问题:- 假设两个事务 tran1 和 tran2 在时间 t1 开始(当我说事务开始时,这里的意思是当它们触发某个查询时事务开始对吗?)。如果 tran1 在时间 t2 更新 row1,然后在时间 t3 tran2 获取同一行,它不会得到 tran1 完成的更新行。对吗? 我这么说是因为 tran1 和 tran2 将显示来自的结果在时间 t1 存在的数据状态。正确吗?事务是否在开始时拍摄完整数据库的快照?

我读到编码可序列化事务需要应用程序开发人员进行额外工作来检查“无法序列化访问”错误并撤消和重试事务。 不确定开发人员何时会收到“无法序列化访问”错误?我们会在下面的场景中得到同样的错误吗

假设两个事务 tran1 和 tran2 在时间 t1 开始。如果 tran1 在时间 t2 更新 row1 并提交,然后在时间 t3 tran2 更新并提交相同的 row1。在这种情况下它会抛出“无法序列化访问”错误吗? 如果是,在可序列化事务的情况下,oracle 是否在内部维护版本,以便它知道行已被用户更新?

最佳答案

参见 Oracle有关隔离级别和数据并发的文档。

关于java - 关于可序列化事务的一些疑问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7771614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com