事務的隔離級別源於事務ACID的I(Isolation),即多個事務同時操做同一實體時,其中一個事務的讀寫操做對其餘事務及其自身的可見性影響程度。具體能夠分爲以下幾個等級:數據庫
讀未提交
某個事務未提交前,其修改的數據對其餘事務可見,這種隔離級別最低,除了確保執行事務自己的原子性,對其餘事務幾乎無隔離,因此若是源事務回滾,其餘事務就會出現髒讀現象。安全
讀已提交
一個事務針對數據的寫操做,只有提交以後,其餘事務纔可見。這是相對靠譜的方案。也是不少數據庫的默認隔離級別。讀提交也存在兩個主要的問題,第一種是,若是兩個事務同時開啓,其中一個事務第一次讀取,和在另外一個事務修改並提交後讀取到的數據會不一致,也就是不可重複讀;第二個問題是,容易引發死鎖。ide
可重複讀
一個事務針對數據的讀操做一旦開始,其餘事務再也不能夠進行寫操做,至關於讀鎖。可重複讀增長了數據的安全性,可是針對新增操做,依然存在幻讀問題。事務
和事務的隔離級別不一樣,傳播特性是指一個事務開啓後,若是在事務內涉及到其餘事務的調用,是沿用主事務,仍是開啓新事務,亦或是,不接受事務。內存
NESTED傳播級別時,若是外層事務不可回滾內存提交的事務。it