關於資料庫事務的隔離級別

2021-09-22 13:57:38 字數 896 閱讀 6456

並不是所有的資料庫引擎都是支援事務的,如 myisam 就不支援,innodb 就支援,我們的是innodb

show variables like '%storage_engine%'; 檢視當前資料庫的預設引擎是什麼

事務的基本要素(a-原子性c-一致性i-隔離性d-永續性)

我們在處理事務的時候會遇到的狀況:

髒讀:a讀取了 b操作還未提交事務的結果,髒資料(b一旦提交事務,這個結果就不準確了)

不可重複讀:a在某段時間,查詢到的資料不一樣(b提交事務,可能在不停的修改資料)--->針對單條資料

幻讀:主要針對一批資料來講,a查詢的一批資料,可能被b在不停的修改,出現幻覺了?

mysql的事務隔離級別:

serializable序列:我的事務尚未提交,別人就都給我等著,誰也不准動。

repeatable read可重複讀:別人改資料的事務已經提交,不管你做了什麼,我只認我第一次讀到的資料。

read committed讀已提交:別人改資料的事務已經提交,只有別人的操作完提交了事務,我才能去讀你的資料。

read uncommitted 讀未提交:別人改資料的事務尚未提交,只要任何人做了修改,不管是否提交事務,我都能讀。

這 4 種隔離級別,並行效能依次提高,安全性依次降低

查詢當前的事務隔離級別是什麼:select @@tx_isolation;

設定mysql的隔離級別:set session transaction isolation level 設定事務隔離級別

資料庫事務隔離級別

資料庫事務的隔離級別有4個,由低到高依次為read uncommitted read committed repeatable read serializable,這四個級別可以逐個解決髒讀 不可重複讀 幻讀這幾類問題。可能出現 不會出現 髒讀不可重複讀 幻讀read uncommitted rea...

資料庫事務隔離級別

資料庫事務的隔離級別有4個,由低到高依次為read uncommitted read committed repeatable read serializable,這四個級別可以逐個解決髒讀 不可重複讀 幻讀這幾類問題。可能出現 不會出現 髒讀不可重複讀 幻讀read uncommitted rea...

資料庫事務隔離級別

資料庫事務的隔離級別有4個,由低到高依次為read uncommitted read committed repeatable read serializable 這四個級別可以逐個解決髒讀 不可重複讀 幻讀 這幾類問題。可能出現 不會出現 髒讀不可重複讀 幻讀read uncommitted re...