辛普森悖論
阿新 • • 發佈:2020-10-21
事務
什麼是事務
一個事務是一個完整的業務邏輯單元,不可再分。
與事務相關的語句只有(DML語句)。(insert delete update)
事務原理
事務的特性
事務包含四大特性:ACID
A:原子性:事務最小的工作單元,不可再分
C:一致性:事務必須保證多條DML語句同時成功或者同時失敗
I: 隔離性:事務A與事務B之間具有隔離
D:永續性:永續性說的是最終資料必須持久化到硬碟檔案中,事務才算成功的結束
事務的隔離性
事務的隔離性存在隔離級別,理論上隔離級別有4個:
第一級別:讀未提交
對方事務還沒有提交,我們當前事務可以讀取到對方未提交的資料。
讀未提交存在髒讀現象
第二級別:讀已提交
對方事務提交之後的資料我方可以讀取到。
這種隔離級別解決了髒讀現象。
讀已提交存在的問題是:不可重複讀。
第三級別:可重複度
這種隔離級別解決了:不可重複讀問題
這種隔離級別存在的問題是:讀到的資料都是虛的。
第四級別:序列化讀/序列化讀
解決了所有問題。
效率低。需要事務排隊。
開始事務
BEGIN TRANSACTION <事務名稱> |@ <事務變數名稱>
提交事務
COMMIT TRANSACTION <事務名稱> |@ <事務變數名稱>
撤銷事務
ROLLBACK [TRANSACTION] <事務名稱> |@ <事務變數名稱> |<儲存點名稱> | @<含有儲存點名稱的變數名>