深入講解SQL事務隔離級別

2021-10-10 09:18:01 字數 508 閱讀 3298

因為需要併發能力

所以我們不能用上一節的序列化的方式

來滿足併發

需要降低資料庫的隔離級別,來換取事務的併發能力

三種異常問題

髒讀:事務還沒提交,小李已經讀到了資料

不可重複讀:在事務操作中間時修改記錄,另乙個人兩次的查詢結果不一樣

幻讀:某人先查詢了n條資料,正好同時某人提交了增加資料,下一次查詢後產生了n+1條資料

四種隔離級別

可重複讀:就是相當於你寫入資料的時候對於輸出封閉

(查詢時獲得結果一致)

需要模擬髒讀,不可重複讀,幻讀

mysql:預設是可重複讀隔離級別

SQL 事務隔離級別

髒讀 包含未提交資料的讀。例如,事務1 更改了某行。事務2 在事務1 提交更改之前讀取已更改的行。如果事務1 回滾更改,則事務2 便讀取了邏輯上從未存在過的行。不可重複讀取 當某個事務不止一次讀取同一行,並且乙個單獨的事務在兩次 或多次 讀取之間修改該行時。因為在同乙個事務內的多次讀取之間修改了該行...

SQL 隔離級別與事務

前言 事物 事物是指一組原子性的sql查詢。如 銀行轉賬 a要轉賬給b100,在資料庫中至少三步 1.a的賬戶查詢餘額大於100,2.a賬戶減少100,3.b的賬戶要增加100這樣這個事物才算真的完成,這裡的幾條sql語句應該一起完成或者失敗,失敗就會發生回滾,成功則提交事務。隔離 隔離的產生主要是...

oracle事務講解 事務隔離級別例項

今天溫習oracle事務,記錄如下 事務定義 事務是保持資料的一致性,它由相關的ddl或者dml語句做為載體,這組語句執行的結果要麼一起成功,要麼一起失敗。我們知道sql92標準定義了資料庫事務的四個特點 2.事務控制命令 3.鎖的概念 鎖是為了保證多個併發的事務在引用同乙個資源時,對資源的保護,同...