一、事務和隔離級別
事務的概念:事務是把對資料庫的一系列操作都看做乙個整體,要麼全部成功,要麼全部失敗,利用事務我們可以保證資料庫的完整性,事務具有原子性。
隔離級別:隔離級別定義了事務與事務之間的隔離距離。
髒讀(dirty read):當乙個事務讀取另乙個事務未提交的修改時,產生髒讀。
不可重複讀(nonrepeated read):同一查詢在同一事務中多次進行,由於其他事務提交所做的修改,導致每次返回的結果不同,此時發生不可重複讀。
幻讀(phantom read):同一查詢在同一事務中多次進行,由於其他事務提交所做的新增或刪除操作,導致每次得到的不同的結果集,此時發生幻讀。
不可重複讀側重於修改,幻讀側重於新增或者刪除。解決不可重複讀只需要鎖住滿足條件的行,解決幻讀需要鎖表。
二、oracle的事務隔離級別有兩種
oracle預設隔離級別為:讀已提交(read committed)
三、mysql的事務隔離級別有四種
mysql預設隔離級別為:可重複讀 (repeated read)
mysql 隔離性與隔離級別
提到事務,你肯定不陌生,和資料庫打交道的時候,我們總是會用到事務。最經典的例子就是轉賬,你要給朋友小王轉 100 塊錢,而此時你的銀行卡只有 100 塊錢。轉賬過程具體到程式裡會有一系列的操作,比如查詢餘額 做加減法 更新餘額等,這些操作必須保證是一體的,不然等程式查完之後,還沒做減法之前,你這 1...
MySQL的事務與隔離級別
mysql的隔離級別 1 read uncommitted 可能會出現的問題 髒讀 不可重複讀 幻讀 讀未提交 此時會出現髒讀 髒讀 讀取到其他事務未提交的資料 2 read committed 讀已提交 可能會出現的問題 不可重複讀 幻讀 此時會出現不可重複讀 oracle預設事務隔離級別 平時開...
MySql事務與隔離級別
事務是由一組sql語句組成的邏輯處理單元,是滿足 acid 特性的一組操作,可以通過 commit 提交乙個事務,也可以使用 rollback 進行回滾。事務具有以下4個屬性,通常簡稱為事務的acid屬性 事務b讀取到了事務a已修改但尚未提交的的資料,還在這個資料基礎上做了操作。此時,如果a事務回滾...