java事務相關知識彙總一

事務:sql

默認事務自動提交數據庫

觸發時機:測試

DML執行:數據庫操做語句的執行,例如insert,update,delete事務

DDL執行:數據定義語句date

SELECT查詢後結果集關閉後數據

存儲過程執行後(數據結果集返回後,事務關閉)查詢

 

事務隔離4大級別:存儲過程

讀未提交let

讀已提交delete

可重複讀

可串行化

 

不一樣隔離級別可能出現的問題

髒讀:A事務讀,B事務寫未提交,A事務能讀取B事務沒有提交的數據。

不可重複讀:A事務讀一行記錄,B事務修改這條記錄,A事務兩次讀取記錄結果不同。

幻讀:A事務第一次讀全部行記錄,B事務添加記錄提交,A事務會讀到新增這一行記錄。

 

注意:測試4種不能隔離級別,可能發現的問題時,必定記得把Mysql自動提交關閉

隔離級別指令:

設置:

SET [SESSION|GLOBAL] TRANSACTION ISOLATION LEVEL [READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SERIALIZABLE]

查詢

SELECT @@TX_ISOLATION

自動提交指令:

關閉:

SET AUTOCOMMIT=1

開啓:

SET AUTOCOMMIT=0

相關文章
相關標籤/搜索