隔離級別從松到緊 ==> 讀未提交,讀提交 ,重複讀,序列化。
讀未提交
可能會出現髒讀的情況
例子: 你去買5個包子。人多。店員拿的急多方乙個,袋子裡有6個,這個時候,你眼睛一瞟。心裡美滋滋。付錢的時候老闆檢查了一下,發現多了乙個,就拿走了乙個,然後你付錢走人(提交事務)。這時候你就發現實際上袋子裡只有5個,但是你認為他有6個。這就是髒讀。
讀提交
乙個事物在讀取時發現另外乙個事物在修改,要等他提交修改事物後才能讀取 可能出現不可重複讀
例子: 你去買5個肉包子。人少生意不好,店員慢慢放了5個。你瞟了一眼(讀取)。沒毛病。但是這個時候員工為了自己能多拿點提成。偷偷摸摸吧乙個肉包子換成了菜包子,現在袋子裡是4個肉包子乙個菜包子(修改事物),給到你手上(提交事務)。你老婆眼尖發現不對頭。提醒你再去看下。你就發現你兩次讀取到的不一樣(不可重複讀)。
可重複讀
在你讀取事物的時候,不在允許修改事物。
例子: 你去買5個肉包子。人少生意不好,店員慢慢放了5個。你瞟了一眼(讀取)。沒毛病。但是這個時候員工為了自己能多拿點提成。想把乙個肉包子換成菜包子(修改事物),這個時候老闆發現了一頓訓(系統發現報錯)。但是員工不甘心。偷偷摸摸吧往袋子裡多放了乙個粽子,現在袋子裡是5個肉包子乙個粽子(新增事物),這是個奸商發現了但是允許(repeatable read隔離規則)給到你手上(提交事務)。你老婆眼尖發現不對頭。提醒你再去看下。你就發現你兩次讀取到的不一樣(不可重複讀)。
序列化
是最高的事務隔離級別,在該級別下,事務序列化順序執行,可以避免髒讀、不可重複讀與幻讀。但是這種事務隔離級別效率低下,比較耗資料庫效能,一般不使用。
事物隔離級別
自然也是支援四種事務隔離級別的 read uncommitted,read commit,repeatable read serializable,下面就分別最四種隔離級別在實現的鎖機制做乙個簡介 serializable 1 這種隔離級別對資料的要求最為嚴格,自然也是效能最差的一種隔離級別。在所有...
事物隔離級別
在分布式的系統中,通常會有多個執行緒連線到資料庫中同時對乙個表進行操作 這裡的同時並不表示同乙個時間點,而是同時競爭cpu的資源,至於如何排程,就要看執行緒和作業系統如何進行排程了 這種情況下如果會話的事物設定不當,就會導致資料混亂,常常會出現以下三種情況 假設現在系統中有兩個會話a和b,同時對錶t...
事物隔離級別
事務隔離級別 1.更新遺失 lost update 兩個事務都同時更新一行資料,但是第二個事務卻中途失敗退出,導致對資料的兩個修改都失效了。這是因為系統沒有執行任何的鎖操作,因此併發事務並沒有被隔離開來。基本上就是指某個事務對欄位進行更新的資訊,因另乙個事務的介入而遺失更新效力。舉例來說,若某個字段...