多語言網(wǎng)站怎么實現(xiàn)的推廣公眾號的9種方法
?🎄事務(wù)的四大特性
- 以下就是事務(wù)的四大特性,簡稱ACID。
- 原子性📢事務(wù)時不可分割的最小操作單元,要么全部成功,要么全部失敗。
- 一致性📢事務(wù)完成后,必須使所有的數(shù)據(jù)都保持一致
- 隔離性📢數(shù)據(jù)庫系統(tǒng)自身提供的隔離機制,保證事務(wù)在不受外部并發(fā)操作影響的獨立
環(huán)境下運行。- 持久性📢事務(wù)一旦提交或回滾,它對數(shù)據(jù)庫中的數(shù)據(jù)的改變就是永久的。(將在磁盤中永久寫入)。
🎄并發(fā)事務(wù)引發(fā)的問題
?臟讀
- 一個事務(wù)讀到另外一個事務(wù)還沒有提交的數(shù)據(jù)。
A事務(wù)更新了某個字段的值,比如將100更新為200,但此時A事務(wù)還沒有提交
此時B事務(wù)讀取這個字段發(fā)現(xiàn)還是100,也就是B事務(wù)讀取到了A事務(wù)還沒有來得及處理的數(shù)據(jù)
?不可重復(fù)讀
-
一個事務(wù)先后讀取同一條記錄,但兩次讀取的數(shù)據(jù)不同,稱之為不可重復(fù)讀。
- A事務(wù)的第一條查詢語句查詢后,此時B事務(wù)進行的對同一字段記錄的更新
- 緊接著A事務(wù)的再次對同一數(shù)據(jù)進行查詢時發(fā)現(xiàn)數(shù)據(jù)不一致。
- 這就是不可重復(fù)讀,也就是重復(fù)讀的數(shù)據(jù)不一致。
?幻讀
- 一個事務(wù)按照條件查詢數(shù)據(jù)時,沒有匹配到對應(yīng)的數(shù)據(jù),但是在插入數(shù)據(jù)時,發(fā)現(xiàn)這行數(shù)據(jù)又存在了。就好像出現(xiàn)了“幻影”。
A事務(wù)查詢主鍵1不存在,此時B事務(wù)插入了一條主鍵為1的數(shù)據(jù),緊接著A事務(wù)又去插入主鍵為1的記錄,此時發(fā)現(xiàn)數(shù)據(jù)已經(jīng)存在,插入失敗。就好像出現(xiàn)了幻覺。
🎄事務(wù)的隔離級別
📢目的就是為了解決并發(fā)事務(wù)所引發(fā)的問題。
隔離級別 | 臟讀 | 不可重復(fù)讀 | 幻讀 |
---|---|---|---|
Read uncommitted | 未解決 | 未解決 | 未解決 |
Read committed | 解決 | 未解決 | 未解決 |
Repeatable Read( 默認(rèn) ):可重復(fù)讀 | 解決 | 解決 | 未解決 |
Serializable(串行化) | 解決 | 解決 | 解決 |
?查看事務(wù)隔離級別
select @@transaction_isolation
?設(shè)置事務(wù)隔離級別
set [session|global] transaction isolation level [read uncommitted | read committed | repeatable read | serializable]
?注意
📢:對于隔離級別越高數(shù)據(jù)越安全,但是并發(fā)性能越差。