資料庫隔離級別 從最不安全到最安全

2021-10-01 23:14:54 字數 354 閱讀 3417

read uncommitted(俗稱髒讀):讀寫均不使用鎖,資料的一致性最差,也會出現許多邏輯錯誤。

read committed:使用寫鎖,但是讀會出現不一致,不可重複讀。

repeatable read(俗稱幻讀): 使用讀鎖和寫鎖,解決不可重複讀的問題。(mysql預設資料隔離級別)

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...