當前位置:編程學習大全網 - 源碼下載 - 圖解MVCC機制

圖解MVCC機制

這個過程實際上會涉及到 臟寫、臟讀、不可重復讀、幻讀 ,四種問題。

MySQL默認的事務隔離級別是RR(可重復讀),而且 MySQL的RR級別是可以避免幻讀發生 。也就是說,MySQL裏執行的事務,默認情況下不會發生臟寫、臟讀、不可重復讀和幻讀的問題。

如何修改MySQL隔離級別?

Spring中默認隔離級別與MySQL壹致,Spring中如何修改?

簡單來說,就是執行壹個事務的時候,就生成壹個ReadView,裏面比較關鍵的東西有4個:

示例:

通過undo log多版本鏈條,加上妳開啟事務時候生產的壹個ReadView,然後再有壹個查詢的時候,根據ReadView進行判斷的機制,妳就知道妳應該讀取哪個版本的數據。

首先我們先要明白,多個事務並發運行的時候,同時讀寫壹個數據,可能會出現臟寫、臟讀、不可重復讀、幻讀幾個問題。

針對這些問題,所以才有RU、RC、RR和串行四個隔離級別。

然後MySQL實現MVCC機制的時候,是 基於undo log多版本鏈條+ReadView機制 來做的,默認的RR隔離級別,就是基於這套機制來實現的,依托這套機制實現了RR級別,除了避免臟寫、臟讀、不可重復讀,還能避免幻讀問題。因此壹般來說我們都用默認的RR隔離級別就好了。

  • 上一篇:來個熱心的網友幫我編壹下簽名檔UBB代碼
  • 下一篇:《我和僵屍有個約會》第壹二三部的關系
  • copyright 2024編程學習大全網