資料庫隔離級別 yao

2021-12-30 01:25:37 字數 766 閱讀 8273

1 2

髒讀 不可重複讀

幻讀 備註 3

read uncommitted

讀未提交

讀時可以讀寫

寫時可以讀,不可以寫

√ √√ 如果乙個事務已經開始寫資料,則另外乙個事務則不允許同時進行寫操作,但允許其他事務讀此行資料。讀到其他事務未提交的資料,產生髒讀。寫事務時,別的事務可以讀取到。

寫事務阻止其他寫事務,可以讀。讀事務不會阻止其他讀寫事務。

read committed

讀提交讀時可以讀寫。

寫時不可以讀寫 √

√ 讀取資料的事務允許其他事務繼續訪問該行資料,但是未提交的寫事務將會禁止其他事務訪問該行。只能讀其他事務提交的資料,未提交的資料不能讀。寫事務時,別的事務不可讀取到。

寫事務會阻止其他讀寫事務。

讀事務不會阻止其他任何讀寫事務。

repeatable read

可重複讀取

讀時不可以寫,可以讀

寫時不可以讀寫

√ 讀取資料的事務將會禁止寫事務(但允許讀事務),寫事務則禁止任何其他事務。兩個事務可以同時讀,寫事務時禁止任務操作。

寫事務會阻止其他讀寫事務。

讀事務會阻止其他寫事務,不阻止其他讀事務

serializable

序列化

它要求事務序列化執行,事務只能乙個接著乙個地執行,不能併發執行

讀加共享鎖,寫加排他鎖。這樣讀取事務可以併發,但是讀寫,寫寫事務之間都是互斥的,基本上就是乙個個執行事務,所以叫序列化

資料庫隔離級別

read uncommited 讀未提交 最低級別,可讀取未提交事物的資料,這會導致髒讀,比如 某時刻會話a修改了乙個資料,但還未提交,此時會話b,讀取了該資料,這是,會話a回滾了事物,這就導致資料出現了不一致狀態,這就是髒讀 read commited 提交讀 避免了髒讀,但會導致不可重複讀,例如...

資料庫隔離級別

資料庫事務的隔離級別有4個,由低到高依次為read uncommitted read committed repeatable read serializable,這四個級別可以逐個解決髒讀 不可重複讀 幻讀這幾類問題。可能出現 不會出現 髒讀 不可重複讀 幻讀read uncommitted re...

資料庫隔離級別

資料庫事務的隔離級別有4個,由低到高依次為read uncommitted read committed repeatable read serializable,這四個級別可以逐個解決髒讀 不可重複讀 幻讀這幾類問題。可能出現 不會出現 髒讀不可重複讀 幻讀read uncommitted rea...