什么是冲突的可串行化调度?实例分析
冲突的可串行化调度是指在保持事务间冲突关系的前提下,使得调度结果与某个串行调度的结果一致。其中,冲突关系指的是存在一对事务,它们对同一个数据对象进行了读写操作,且它们的操作顺序不同。
示例1:
R1(B)R1(A) W3(B)R2(B) R2(A)W2(B) R1(B)W1(A) (不是)
该调度存在冲突关系R1(B)和W3(B),但是它们的操作顺序不同于串行调度R1(B)R1(A)W1(A)R2(A)R2(B)W2(B)W3(B),因此不是冲突的可串行化调度。
示例2:
r3(B)r1(A)w3(B)r2(B)r2(A)w2(B)r1(B)w1(A) (是)
该调度存在冲突关系r3(B)和w3(B),r1(B)和w1(A),但是它们的操作顺序与串行调度r3(B)r1(A)r2(B)r2(A)w1(A)w3(B)r1(B)w1(A)相同,因此是冲突的可串行化调度。
示例3:
r1(A)w1(A)r2(A)w2(A)r2(B)w2(B)r1(B)w1(B) (不是)
该调度存在冲突关系r1(A)和w1(A),r2(A)和w2(A),r2(B)和w2(B),但是它们的操作顺序不同于串行调度r1(A)w1(A)r2(A)w2(A)r1(B)w1(B)r2(B)w2(B),因此不是冲突的可串行化调度。
原文地址: https://www.cveoy.top/t/topic/ozRL 著作权归作者所有。请勿转载和采集!