第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

讀提交和可重復(fù)讀之間的區(qū)別

讀提交和可重復(fù)讀之間的區(qū)別

SMILET 2019-11-04 15:16:12
我認(rèn)為上述隔離級別是如此相似。有人可以用一些很好的例子來描述主要區(qū)別是什么嗎?
查看完整描述

3 回答

?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗 獲得超6個贊

可重復(fù)讀

從事務(wù)開始就維護(hù)數(shù)據(jù)庫的狀態(tài)。如果您在會話1中檢索到一個值,則在會話2中更新該值,然后在會話1中再次檢索該值將返回相同的結(jié)果。讀取是可重復(fù)的。


session1> BEGIN;

session1> SELECT firstname FROM names WHERE id = 7;

Aaron


session2> BEGIN;

session2> SELECT firstname FROM names WHERE id = 7;

Aaron

session2> UPDATE names SET firstname = 'Bob' WHERE id = 7;

session2> SELECT firstname FROM names WHERE id = 7;

Bob

session2> COMMIT;


session1> SELECT firstname FROM names WHERE id = 7;

Aaron

閱讀已提交

在事務(wù)的上下文中,您將始終檢索最近提交的值。如果您在會話1中檢索到一個值,在會話2中對其進(jìn)行更新,然后再次在會話1中對其進(jìn)行檢索,則將獲得在會話2中修改的值。它讀取最后提交的行。


session1> BEGIN;

session1> SELECT firstname FROM names WHERE id = 7;

Aaron


session2> BEGIN;

session2> SELECT firstname FROM names WHERE id = 7;

Aaron

session2> UPDATE names SET firstname = 'Bob' WHERE id = 7;

session2> SELECT firstname FROM names WHERE id = 7;

Bob

session2> COMMIT;


session1> SELECT firstname FROM names WHERE id = 7;

Bob

說得通?


查看完整回答
反對 回復(fù) 2019-11-04
?
jeck貓

TA貢獻(xiàn)1909條經(jīng)驗 獲得超7個贊

根據(jù)我對這個線程的理解和理解,答案很簡單,而@ remus-rusanu答案則基于以下簡單場景:

進(jìn)程A和B有兩個。進(jìn)程B正在讀取表X進(jìn)程A正在寫入表X進(jìn)程B正在再次讀取表X。

  • ReadUncommitted:進(jìn)程B可以從進(jìn)程A讀取未提交的數(shù)據(jù),并且基于B的寫入可以看到不同的行。完全沒有鎖

  • ReadCommitted:進(jìn)程B只能從進(jìn)程A讀取已提交的數(shù)據(jù),并且基于僅COMMITTED B的寫入,它可以看到不同的行。我們可以稱之為簡單鎖嗎?

  • RepeatableRead:無論進(jìn)程A在做什么,進(jìn)程B都將讀取相同的數(shù)據(jù)(行)。但是進(jìn)程A可以更改其他行。行級塊

  • 可序列化的:進(jìn)程B將讀取與以前相同的行,并且進(jìn)程A無法在表中讀取或?qū)懭搿?strong>表級塊

  • 快照:每個進(jìn)程都有自己的副本,并且正在使用它。每個人都有自己的看法


查看完整回答
反對 回復(fù) 2019-11-04
  • 3 回答
  • 0 關(guān)注
  • 3798 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號