MYSQL事務及隔離級別

2021-10-23 22:51:26 字數 963 閱讀 1146

二,事務的四大特性:

三,事務隔離級別:

1,第一正規化

資料庫中每一列都是不可再分的
2,第二正規化
非主鍵字段依賴主鍵字段。
3,第三正規化
非主鍵字段不能相互依賴
當我需要執行多個sql語句的時候,我們會使用事務,這幾個sql語句會一起執行,要麼全成功,要麼全失敗。

原子性:

事務所有操作當作乙個原子性的操作。事務中的所有操作,要麼全成功,要麼全失敗。
一致性:
資料庫從乙個一致性狀態到另乙個一致性狀態,不會因為執行事務導致資料不一致、資料庫狀態不一致。
隔離性:
多個事務時相互隔離的,多個事務不會相互影響。
一致性:
事務執行完成之後,對資料庫造成的影響是永久的,不可逆的。
讀未提交: 【 會產生髒讀 、不可重複讀、幻讀的問題 】

乙個會話開啟事務,另外乙個會話也開啟了事務,在第乙個事務裡邊修改資料,在第二個事務中可以讀取到未提交的資料。

讀已提交【可以解決髒讀的問題、不能解決不可重複讀和幻讀的問題】

事務值只讀取到已經提交的事務的資料。

可重複讀 【 不會產生髒讀的問題,可以解決不可重複讀的問題,但是會產生幻讀的情況 】

就是在開始讀取資料(事務開啟)時,不再允許修改操作

序列化乙個會話開啟了事務,另外乙個會話再開啟事務,但是第二個會話不能執行sql語句,只能等第乙個會話結束之後才能做其他操作。 事務序列化順序執行,可以避免髒讀、不可重複讀與幻讀。但是這種事務隔離級別效率低下,比較耗資料庫效能,一般不使用

髒讀讀取到其他事務未提交的資料.。

不可重複讀

在同乙個事務多次查詢同樣的資料,返回的結果是不一樣的,因為資料在另外乙個事務中被修改了

幻讀開啟事務之後,其他事務給對應的資料新加入了一條資料.

MySQL事務及事務隔離級別

原子性 atomicity 事務是乙個原子操作單元,其對資料的修改,要麼全都執行,要麼全都不執行。一致性 consistent 在事務開始和完成時,資料都必須保持一致狀態。這意味著所有相關的資料規則都必須應用於事務的修改,以保持資料的完整性 事務結束時,所有的內部資料結構 如b樹索引或雙向鍊錶 也都...

mysql 事務及隔離級別

原子性 回滾日誌 undo log 永續性 重做日誌 redo log 隔離性 鎖 一致性 通過aid及使用者自定義完整性保證 一致性是事務追求的最終目標 前面提到的原子性 永續性和隔離性,都是為了保證資料庫狀態的一致性。此外,除了資料庫層面的保障,一致性的實現也需要應用層面進行保障。一致性是指事務...

mysql 事務及隔離級別

事務 transaction 是由一系列對資料庫中的資料進行操作訪問所組成的乙個程式執行單元 在同乙個事務中所進行的操作,要麼都成功,要麼就什麼都不做。理想中的事務必須滿足四大特性,這就是大名鼎鼎的acid。a atomicity 原子性 是指乙個事務要麼全部執行,要麼不執行,也就是說乙個事務不可能...