我正在谷歌阅读冲突可串行化和序列化。
但我没有得到正确的定义以及可序列化和冲突可串行化之间的区别。
我只得到一件事。那就是冲突序列化意味着可序列化。
在许多事情中,他们告诉大多数可序列化和冲突序列化是相同的。
任何人都可以通过示例解释可序列化冲突和可序列化与序列化之间的区别。
感谢您提前!
答案 0 :(得分:1)
我的问题找到了答案。
Serializable表示事务以串行方式完成。这意味着如果调度完成,但事务不使用相同的变量进行读写。
实施例: -
T1 T2
Read(X)
Read(y)
Write(X)
Write(Y)
在此示例中,两个事务不使用共享变量。 所以,在这里没有冲突。
冲突可串行化是指同时完成的事务。这两个事务使用相同的变量,事务的输出是冲突的。
实施例: -
T1 T2
Read(X)
Read(X)
Write(X)
Write(X)
Read(Y)
Write(Y)
Read(Y)
Write(Y)
在此示例中,两个事务T1和T2使用相同的变量。 因此,事务T2在T1写入之前写入X.在T1写入X之后。在这里没有使用事务T2写入。这是冲突可串行化。
答案 1 :(得分:0)
日程安排:是一组交易。 可序列化是交易计划的属性。它涉及数据库事务的隔离属性。时间表的可序列化意味着与连续时间表等效。
冲突可序列化可以在以下3个条件下的非序列化时间表上发生:
答案 2 :(得分:0)