一、事務和隔離級別 事務的概念:事務是把對資料庫的一系列操作都看做一個整體,要麼全部成功,要麼全部失敗,利用事務我們可以保證資料庫的完整性,事務具有原子性。 隔離級別:隔離級別定義了事務與事務之間的隔離距離。 臟讀(dirty read):當一個事務讀取另一個事務未提交的修改時,產生臟讀。 不可重覆 ...
一、事務和隔離級別
事務的概念:事務是把對資料庫的一系列操作都看做一個整體,要麼全部成功,要麼全部失敗,利用事務我們可以保證資料庫的完整性,事務具有原子性。
隔離級別:隔離級別定義了事務與事務之間的隔離距離。
臟讀(dirty read):當一個事務讀取另一個事務未提交的修改時,產生臟讀。
不可重覆讀(nonrepeated read):同一查詢在同一事務中多次進行,由於其他事務提交所做的修改或刪除,導致每次返回的結果不同,此時發生不可重覆讀。
幻讀(phantom read):同一查詢在同一事務中多次進行,由於其他事務提交所做的插入操作,每次發生的不同的結果集,此時發生幻讀。
二、Oracle的事務隔離級別有兩種
- READ COMMITTED :讀已提交
- SERIALIZABLE:串列讀取
Oracle預設隔離級別為:讀已提交(READ COMMITTED)
三、MySQL的事務隔離級別有四種
- 讀未提交 (Read uncommitted)
- 讀已提交 (Read committed)
- 可重覆讀 (Repeated read)
- 可串列化 (Serializable)
MySQL預設隔離級別為:可重覆讀 (Repeated read)