舉例說明四種事務隔離級別有何差別?

2021-09-29 20:20:47 字數 750 閱讀 3103

7)舉例說明四種事務隔離級別有何差別?

比 如說:視窗1是read-uncommitted級別,而視窗2是repeatable-read級別。(如何設定隔離級別,請參見「預設隔離級別是怎麼 回事?如何改變?」)這樣,我視窗1讀資料時,能看到其他視窗update以後還沒有commited的資料。換句話說,你update以後,即使沒有提 交,我都能看見。而因為你的級別是repeatable-read。這個隔離級別比較高,換句話說就是隔離度高。我更新完資料後,你看不到。你要想看到我 更新的資料,必須得我提交以後,而且你也得提交完成你的transaction(事務)。咱們倆都塵埃落定了,你才能看到我更新的資料。因為這樣做其實就 怕我回滾或者你回滾。如果我的視窗1的隔離級別剛才不是設成read_uncommitted,而是設成read_committed,則我的視窗1只能 看到你commited以後的資料。你不commit的話,當我select * from table時,只能看到以前的資料,你update以後而未提交的變化資料,我一點兒都看不見。同樣,如果我的視窗1的隔離級別剛才不是設成 read_uncommitted,而是設成serierlized的話,這是隔離級別最高的一種隔離,可以說隔離得最徹底。我視窗1開始 transaction(事務)以後,即使我隨隨便便select * from table一下,你的transaction之後都無法update。但如果說是你先進的transaction,你update之後,在你沒提交之前, 我的普通的select * from table都不能執行。

更多請見:

事務四種隔離級別

1.讀取未提交 乙個事務可以讀取另乙個未提交的事務的資料。髒讀 2.讀取已提交 事務a多次讀取同一資料,事務b在事務a多次讀取的過程中,對資料做了更新並提交,導致事務a多次讀取同一資料時,結果不一致。不可重複度 對應update操作 3.可重複讀 開始讀取資料時 事務開啟時 不在允許修改操作。可能會...

四種事務的隔離級別

sql 標準定義的四個隔離級別為 read uncommitted 未提交讀 read committed 提交讀 repeatable read 可重複讀 serializable 可序列化 下面分別介紹。1 未提交讀 就是乙個事務可以讀取另乙個未提交事務的資料。1 開啟乙個客戶端a,並設定當前事...

事務的四種隔離級別

資料庫事務的隔離級別有4種,由低到高分別為read uncommitted read committed repeatable read serializable 在事務的併發操作中可能會出現髒讀,不可重複讀,幻讀。具體可參照該篇部落格 read uncommitted 讀未提交,即乙個事務可以讀取...