3 MySQL 事物隔離級別及讀寫鎖

2022-06-10 02:54:09 字數 1009 閱讀 8008

一 mysql 事務隔離級別

讀未提交(read uncommitted):乙個事務可以讀到其他事務沒有提交的資料,會出現髒讀、不可重複讀、幻讀

讀已提交(read committed):乙個事務只能讀到另乙個已提交的資料修改過的資料,並且其他事務沒隊該資料進行一次修改並提交後,該事務都能查詢到最新值,會出現不可重複讀、幻讀

可重複讀(repeatable read):乙個事務第一次讀過某條記錄後,即使其他事務修改了該記錄的值,該事務之後再讀該條記錄時,讀到的仍是第一次讀到的值,而不是每次都讀到不同的資料,這就是可重複讀,這種級別仍然會出現幻讀,這也是 mysql預設的隔離級別

序列化(serializable):同一時間段內對相同記錄只能有乙個事務進行讀/寫,其他的讀/寫都會被阻塞,讀-寫是相互互斥的,所以不會出現髒讀、不可重複讀、幻讀等現象

二 mysql 隔離級別的操作

--

修改隔離級別

mysql>

set session transaction

isolation

level

read

uncommitted;--

檢視隔離級別

mysql>

select

@@tx_isolation;

三 讀鎖與寫鎖

讀寫鎖總結:讀讀共享、讀寫衝突、寫寫衝突

讀操作

--

不加任何鎖

select

...;

--加讀鎖方式

select ... lock in

share mode;

--加寫鎖方式

select ... for

update;

寫操作

事物及事物隔離級別

什麼是事物 事物是訪問資料庫的乙個操作序列,資料庫應用系統通過事物集來完成對資料庫的訪問。事物的正確執行使得資料庫從一種狀態轉換為另一種狀態。事物必須服從iso iec所制定的acid原則。acid是原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 du...

mysql事物隔離級別

複習鞏固加深印象 一。事務 acid原子性,隔離性,一致性,永續性 二。事務隔離級別 通常併發事務處理 1 寫 寫,存在更新丟失問題 2 讀 寫,有隔離性問題,可能遇到髒讀,不可重複讀,幻讀 其中 1.髒讀 a事務讀到b未提交的資料 2.不可重複讀 a事務第二次讀時讀到了b事務提交的寫資料,可能導致...

MySQL事物隔離級別

mysql其實是分為server層和引擎層。server層包括 聯結器 分析器 優化器 執行器 以及查詢快取。在這裡執行的一些mysql自己的一些邏輯,比如函式 儲存過程 檢視 觸發器,但是還沒有真正的去資料檔案中讀取資料。引擎層 innodb myisam memory 負責資料的查詢和提取。現在...