資料庫事務四種隔離級別的加鎖機制

2021-09-01 00:20:48 字數 399 閱讀 4239

未提交讀:實現方式為:寫事務時加行級共享鎖,讀事務不加鎖;因此會出現髒讀(由於是共享鎖,寫事務未提交前其他事務仍然能讀)。

提交讀:針對未提交讀導致的髒讀問題,提交讀的實現方式增強為:寫事務時加行級排他鎖,事務結束才釋放;讀事務加行級共享鎖,但是讀完立即釋放鎖,而不是事務結束釋放。因此造成的問題是不可重複讀(讀事務第一次讀取資料結束後釋放共享鎖,此時其他事務可以更新資料,該事務第二次讀取資料時發現與第一次資料值不同)。

可重複讀:實現方式增強為:讀事務和寫事務加的鎖都持續到事務結束才釋放。仍然存在的問題是幻讀(讀或寫事務只是對其所讀的行加了行級鎖,此時其他事務雖然不能更改這些行,但是能新增新行,因此出現幻讀現象)。

序列化:實現方式增強為:讀寫事務加表級鎖,這是就可以避免其他事務對該**的任務操作。

資料庫事務四種隔離級別

定義 在資料庫操作中,為了有效保證併發讀取資料的正確性,提出的事務隔離級別。資料庫事務的隔離級別有4個,由低到高依次為read uncommitted 未授權讀取 讀未提交 read committed 授權讀取 讀提交 repeatable read 可重複讀取 serializable 序列化 ...

資料庫事務四種隔離級別

定義 在資料庫操作中,為了有效保證併發讀取資料的正確性,提出的事務隔離級別。資料庫事務的隔離級別有4個,由低到高依次為read uncommitted 未授權讀取 讀未提交 read committed 授權讀取 讀提交 repeatable read 可重複讀取 serializable 序列化 ...

資料庫事務四種隔離級別

定義 在資料庫操作中,為了有效保證併發讀取資料的正確性,提出的事務隔離級別。資料庫事務的隔離級別有4個,由低到高依次為read uncommitted 未授權讀取 讀未提交 read committed 授權讀取 讀提交 repeatable read 可重複讀取 serializable 序列化 ...