【问题标题】:Why should we avoid Non repeatable and Phantom reads?为什么我们要避免不可重复和幻读?
【发布时间】:2018-06-06 00:33:37
【问题描述】:

我可以理解我们应该避免脏读,因为如果我们读取未提交的数据,其他事务可能会回滚,但在不可重复和幻读中,我们正在读取已提交的数据。如果我们读取提交的数据有什么问题。

【问题讨论】:

    标签: sql database transactions


    【解决方案1】:

    如果有人告诉您他们的名字是史蒂夫,然后,6 个月后,您再次见到他们并告诉您他们的名字是鲍勃,这有问题吗?事实上,在这些时间之间,他们合法地改变了自己的名字,这意味着事实已经改变可能对你来说很重要,也可能不重要。但它可能发生这一事实至少是需要注意的。

    就我个人而言,我不倾向于编写依赖于在单个事务中重复查询相同数据的代码,因此没有任何特定情况会导致不可重复读取给我带来问题.但我知道它们是一种可能性。数据已提交的事实(就像我上面的名称更改类比一样,在这两种情况下,给出的名称都是我们正在与之交谈的实体的完全提交的名称)并不意味着它不能更改。

    【讨论】:

      猜你喜欢
      • 2012-06-18
      • 2010-12-28
      • 2018-08-12
      • 2021-06-25
      • 1970-01-01
      • 2013-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多