MySQL事務的隔離性

2021-09-23 22:27:24 字數 1553 閱讀 3503

事務的特徵(acid)

隔離級別

設定事務隔離級別

隔離級別的作用範圍

檢視事務隔離級別

事務的操作

隔離級別

髒讀不可重複讀

幻讀讀未提交(read uncommitted)

可能可能

可能讀已提交(read committed)

不可能可能

可能可重複讀(repeatable read)

不可能不可能

可能(innodb例外)

序列化    (serializable)

不可能不可能

不可能方式一

可以在my.ini檔案中使用transaction-isolation選項來設定伺服器的預設事務隔離級別。該選項值可以是:

– read-uncommitted

– read-committed

– repeatable-read

– serializable

例如:

[mysqld]

transaction-isolation = repeatable-read

方式二

通過命令動態設定隔離級別 

set [global | session] transaction isolation level

其中的可以是:

–   read uncommitted

–   read committed

–   repeatable read

–   serializable

例如:

set transaction isolation level repeatable read;

會話級:只對當前的會話有效

設定會話級隔離級別為read committed :

set transaction isolation level repeatable read;

或:set session transaction isolation level repeatable read;

全域性級:對所有的會話有效

設定全域性級隔離級別為read committed : 

set global transaction isolation level repeatable read;

select @@global.tx_isolation, @@tx_isolation

或show variables like '%isolation%' 

Mysql 事務隔離性

事務併發所引起的跟讀取資料有關的問題,各用一句話來描述一下 1.髒讀 事務 a 讀取了事務 b 未提交的資料,並在這個基礎上又做了其他操作。讀取未提交 2.不可重複讀 事務 a 讀取了事務 b 已提交的更改資料。讀取新提交update 3.幻讀 事務 a 受到事務 b 已提交的新增資料影響。看不到已...

mysql中事務的隔離性

msql中事務的五個屬性 1 原子性 乙個事務是乙個不可分割的工作單位,要木全都做了,要木全都不做了 2 一致性 事物執行前後,資料處於合法狀態 3 永續性 事物執行完畢後,資料就被持久修改 寫到磁碟中了 4 隔離性 多個事物併發執行的時候,事物之間不能相互干擾 而在隔離性不強的情況下會產生三個情況...

mysql事務隔離性的理解

事務是對一組操作原子性的保障,但正是由於事務,就會出現事務a和事務b資料之間的可見性問題 髒讀,幻讀,不可重複讀 為了解決問題,才設定了隔離級別這種東西 隔離級別的一種實現思想就是mvcc,一行資料由於多個事務的修改可能會有多個版本。每次讀取的是資料最新版本。事務之間不是併發執行的。事務在每次執行語...