- ~
1.原子性:事務是一組不可分割的操做單元,這組單元要麼同時成功要麼同時失敗.
2.一致性:事務先後的數據完整性要保持一致。
3.隔離性:多個用戶的事務之間不要相互影響,要相互隔離。
4.持久性:一個事務一旦提交,那麼它對數據庫產生的影響就是永久的不可逆的,若是後面再回滾或者出異常,都不會影響已提交的事務。數據庫
1.髒讀:一個事務讀取到了另一個事務未提交的數據
2.不可重複讀:在一個事務中,兩次查詢的結果不一致(針對的是 update操做)
3.虛讀(幻讀):在一個事務中,兩次查詢的結果不一致(針對的是 insert操做)事務
事務的隔離級別:
1.read uncommitted; 讀取到未提交,最低級別,在這種級別下,以上三種狀況都會發生
2.read committed; 讀取到已提交數據,能夠避免髒讀,可是會發生不可重複讀和虛讀(Oracle的默認隔離級別)
3.repeatable read; 可重複度 ,能夠避免不可重複讀和髒讀,可是會發生虛讀的狀況。(MySql的默認隔離級別)
4.serializable; 序列化的,串行化的 最高的隔離級別,可以避免以上三種狀況,可是效率最低。 通常銀行系統使用這種隔離級別it