【问题标题】:A serializable schedule but not conflict serializable可序列化的计划,但不可冲突可序列化
【发布时间】:2019-06-19 12:55:53
【问题描述】:

我需要一个可序列化计划但不是可序列化冲突的计划示例

【问题讨论】:

  • 我的回答是你想要的吗?

标签: database transactions conflict schedule


【解决方案1】:

任何非冲突可序列化的视图可序列化调度都必须包含盲写。

盲写是指事务写入数据库,不读取数据库变量。

这意味着,如果我们知道数据库变量名。如果我们使用带有一些值的变量来编写。

事务如下,就是盲写。

例子:-

Transaction T1                           Transaction T2

  Write(X)
                                            Write(X)
  Write(Y)
                                            Write(Y)

在上面的例子中,我们没有读取变量 X,但我们正在写入 X。

如果我们在不使用旧值的情况下编写数据库,则不存在可串行化冲突。在这里,我们必须替换数据库中的旧值。盲写是在两个事务中使用相同的数据库变量名完成的。那个时候它也是一个可序列化的。

【讨论】:

  • "如果不使用旧值写入数据库,则不存在可串行化冲突":此说法为假。具有盲写的调度不一定总是非冲突可序列化的。
猜你喜欢
  • 2022-01-18
  • 2016-01-22
  • 2013-12-30
  • 2014-05-16
  • 1970-01-01
  • 2011-04-17
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多