事務四大特性理解,什麼是髒資料、髒讀、不可重複讀、幻覺讀
什麼是事務?
事務指的是邏輯上的一組操作,這組操作要麼全部發生,要麼全部失敗。
舉例 : 張三和李四 進行 轉賬的操作
張三向轉賬李四 1000元 張三餘額-1000元 李四餘額+1000元
不應該出現的是 在轉賬過程中由於一些意外,使張三的餘額減去了1000元, 而李四並沒有收到這筆錢。 使用事務來進行管理。 必須一起成功或者一起失敗
事務四大特性(ACID)
- 原子性:是指事務一個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。 不能夠單獨執行。 把一組操作放入事務中
- 一致性:事務的執行的前後,資料的完整性要得到保證。
- 隔離性:強調的是多個使用者併發訪問資料庫的時候,一個使用者事務不能被其他使用者的事務所干擾到,多個併發事務之間的資料要相互隔離。 解決多個使用者對同一個資料進行操作, 資料庫會有 事務的 隔離級別來進行解決。
- 永續性:一個事務一旦被提交,它對資料庫中資料的改變就是永久性,即使資料庫發生故障也不應該對其有任何影響。
什麼是髒資料,髒讀,不可重複讀,幻覺讀
- 髒讀: 指當一個事務正在訪問資料,並且對資料進行了修改,而這種修改還沒有提交到資料庫中,這時,另外一個事務也訪問這個資料,然後使用了這個資料。因為這個資料是還沒有提交的資料, 那麼另外一個事務讀到的這個資料是髒資料,依據髒資料所做的操作可能是不正確的。
- 不可重複讀: 指在一個事務內,多次讀同一資料。在這個事務還沒有結束時,另外一個事務也訪問該同一資料。 那麼,在第一個事務中的兩次讀資料之間,由於第二個事務的修改,那麼第一個事務兩次讀到的資料可能是不一樣的。這樣就發生了在一個事務內兩次讀到的資料是不一樣的,因此稱為是不可重複讀。
- 幻覺讀: 指當事務不是獨立執行時發生的一種現象,例如第一個事務對一個表中的資料進行了修改,這種修改涉及到表中的全部資料行。同時,第二個事務也修改這個表中的資料,這種修改是向表中插入一行新資料。那麼,以後就會發生操作第一個事務的使用者發現表中還有沒有修改的資料行,就好象發生了幻覺一樣。
相關文章
- 什麼是髒讀,不可重複讀,幻讀
- 【Mysql】資料庫事務,髒讀、幻讀、不可重複讀MySql資料庫
- 髒讀,幻讀,不可重複讀
- 髒讀、幻讀和不可重複讀
- 資料庫事務隔離級別– 髒讀、幻讀、不可重複讀資料庫
- 髒讀、幻讀和不可重複讀?為啥?
- MySQL 事務隔離實驗-認識:髒讀、不可重複讀、幻讀MySql
- 關於事務、事務的隔離級別以及對髒讀、不可重複讀、幻讀的理解
- 髒讀!幻讀!不可重複讀!mysql併發事務引發的問題MySql
- 一文詳解髒讀、不可重複讀、幻讀
- MySQL事務(4種事務隔離級別、髒寫、髒讀、不可重複讀、幻讀、當前讀、快照讀、MVCC、事務指標監控)MySqlMVC指標
- 三分鐘掌握ACID、髒讀、幻讀、不可重複讀、事務隔離級別
- 簡單聊聊mysql的髒讀、不可重複讀MySql
- 【每日鮮蘑】資料庫隔離級別、髒讀、幻讀、鎖等資料庫
- 資料庫事務四大特性是什麼?資料庫
- MySQL的可重複讀級別能解決幻讀嗎MySql
- Mysql RC/RR隔離原理和區別 不可重複讀和可重複讀MySql
- 什麼是鎖?深入分析解讀MySQL鎖,解決幻讀問題!MySql
- EXCEL不可讀怎麼辦,修復EXCEL檔案不可讀Excel
- MySQL實驗: 實踐索引對全列匹配、最左字首匹配、範圍查詢等條件的影響以及瞭解髒讀、幻讀等MySql索引
- 資料庫事務的四大特性資料庫
- 都是髒資料惹的禍
- MySQL是怎麼解決幻讀問題的?MySql
- 在Oracle中,什麼是物理讀和邏輯讀?Oracle
- 什麼是事務、事務特性、事務隔離級別、spring事務傳播特性?Spring
- InnoDB 是如何解決幻讀的
- OpenAI Lilian Weng萬字長文解讀LLM幻覺:從理解到克服OpenAI
- oracle的只讀事務Oracle
- 精讀《什麼是 LOD 表示式》
- 深入理解 EF Core:EF Core 讀取資料時發生了什麼?
- AI 資料標註不是“髒活累活”AI
- MySQL刷髒MySql
- postgresql不考慮可見性、讀取髒頁、物理頁、被刪除/更新的元組SQL
- Spring事務原始碼解讀Spring原始碼
- 資料庫事務的四大特性以及事務的隔離級別資料庫
- 讀材料後筆記:什麼是DevOps筆記dev
- MySQL 之隔離級別:可重複讀MySql
- 面試官:MySQL的幻讀是怎麼被解決的?面試MySql