例:
張三賬戶余額1000
此時有A、B事務對張三余額操作
1. 讀未提交(臟讀):
一個事務可以讀取到另一個事務未提交的數據。
A執行+500,此時還未提交,B讀取到余額1500,購買了1500塊錢的東西,購買成功了
此時A異常回滾
平台損失了500
2. 讀已提交(不可重復讀):
一個事務可以讀取到另一個事務已提交的數據。
A執行-500,此時因為A還未提交,B讀取到的還是1000,執行-1000,提交成功
當A提交時發現應沒錢了。
3. 不可重復讀:
記錄加上不可重入鎖,被讀取了后不能被修改
新增的數據無法讀取,會出現幻讀情況
4. 串行化:
事務順序執行
性能下降,無論發生什么都不會出問題。