欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql之臟讀、不可重復(fù)讀、幻讀的區(qū)別及說明

 更新時(shí)間:2022年07月20日 10:45:08   作者:WalkerShen  
這篇文章主要介紹了mysql之臟讀、不可重復(fù)讀、幻讀的區(qū)別及說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mysql臟讀、不可重復(fù)讀、幻讀的區(qū)別

臟讀(Drity Read)

某個(gè)事務(wù)已更新一份數(shù)據(jù),另一個(gè)事務(wù)在此時(shí)讀取了同一份數(shù)據(jù),由于某些原因,

前一個(gè)RollBack了操作,則后一個(gè)事務(wù)所讀取的數(shù)據(jù)就會(huì)是不正確的。

例如:

  • 一開始小明將數(shù)據(jù)A修改成了B,之后這個(gè)時(shí)候小紅讀取了B
  • 但是由于小明將數(shù)據(jù)回滾了,修改成了A
  • 那么在這個(gè)時(shí)間點(diǎn),小紅拿的數(shù)據(jù)就是錯(cuò)誤的了,正確的數(shù)據(jù)應(yīng)該為A

不可重復(fù)讀(Non-repeatable read)

在一個(gè)事務(wù)的兩次查詢之中數(shù)據(jù)不一致,這可能是兩次查詢過程中間插入了一個(gè)事務(wù)更新的原有的數(shù)據(jù)。

例如:

  • 小明一開始查詢數(shù)據(jù)時(shí)A,但是后面查詢的數(shù)據(jù)是B
  • 因?yàn)橹型拘〖t將數(shù)據(jù)改成了B
  • 這個(gè)時(shí)候就是兩次查詢數(shù)據(jù)不一致的問題

幻讀(Phantom Read)

  • 在一個(gè)事務(wù)的兩次查詢中數(shù)據(jù)筆數(shù)不一致
  • 例如有一個(gè)事務(wù)查詢了幾列(Row)數(shù)據(jù),而另一個(gè)事務(wù)卻在此時(shí)插入了新的幾列數(shù)據(jù)
  • 先前的事務(wù)在接下來的查詢中,就會(huì)發(fā)現(xiàn)有幾列數(shù)據(jù)是它先前所沒有的

例如:

  • 一開始小明修改了全部數(shù)據(jù),5條數(shù)據(jù),然后小紅在過程中新增了2條數(shù)據(jù),然后小明再次查詢的時(shí)候
  • 發(fā)現(xiàn)我不是已經(jīng)改了全部的數(shù)據(jù)5條了嗎,為什么又多出了兩條多余的數(shù)據(jù)
  • 有點(diǎn)產(chǎn)生幻覺的意思,所以就是幻讀了

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論