- Read uncommitted(未授權讀取、讀未提交):
- Read committed(授權讀取、讀提交):
- Repeatable read(可重復讀取):
- Serializable(序列化):
1)四大隔離級別:串行化、可重復讀、讀已提交、讀未提交;
2)四大特性(ACID):原子性、一致性、隔離性、持久性;
3)三個問題:臟讀、不可重復度、幻讀;
臟讀:指在一個事務處理過程里讀取了另一個未提交的事務中的數據,讀取數據不一致。
不可重復讀:是指在對於數據庫中的某個數據,一個事務范圍內多次查詢卻返回了不同的數據值,這是由於在查詢間隔,被另一個事務修改並提交了。
虛讀(幻讀):第一個事務A對一定范圍的數據進行批量修改,第二個事務B在這個范圍增加一條數據,這時候第一個事務就會丟失對新增數據的修改。
不可重復讀和臟讀的區別:臟讀是某一事務讀取了另一個事務未提交的臟數據,而不可重復讀則是讀取了前一事務提交的數據。
幻讀和不可重復讀區別:幻讀是針對插入操作的(表級別鎖),不可重復度是針對更新和刪除操作的(行級別鎖)。
select @@tx_isolation; 查詢當前事務的隔離級別。