我們為什麼要使用資料庫的事務呢?使用事務有什麼缺點呢?
使用原因:保持資料的匹配和一致性。
缺點: 併發操作中過度使用事務影響效能,因為事務用到了鎖技術。
我是李福春,今天我們來複習一下事務的特性。
你可以收穫下圖中的知識點。
下面我們發散一下。
事務特性
原子性: 要麼全部成功要麼全部失敗
一致性: 保證事務的前後一致性
隔離性:事物之間的執行不能互相干擾
永續性: 事務終結的標誌,記憶體的資料持久化到硬碟中
併發場景下事務出現的問題
髒讀:
不可重複讀
幻讀:
依賴id的自增做為依據。
隔離級別
讀未提交 隔離度最弱 髒讀 不可重複度 幻讀
讀已提交 不可重複度 幻讀
可重複讀 資料庫預設 幻讀
可序列化 效能最低 沒有問題
innodb mvcc 不能解決幻讀
如何跟合理的使用事務
沒有資料一致性要求場景
不使用事務
只有查詢的場景:
不需要使用事務
更新記錄表,然後更新統計表
不要使用事務, 使用事務觸發或者定時任務;
內容繁雜的大事務
分拆成各種小事務,各種反向操作輔助
mysql中事務的特性 mysql中事務的四大特性
原子性 atomicity 事務就像 原子 一樣,不可被分割,組成事務的dml操作語句要麼全成功,要麼全失敗,不可能出現部分成功部分失敗的情況。一致性 consistency 一旦事務完成,不管是成功的,還是失敗的,整個系統處於資料一致的狀態。隔離性 isolation 乙個事務的執行不會被另乙個事...
MySql多表查詢 事務
1.準備sql 建立部門表 create table dept id intprimary keyauto increment,name varchar 20 建立員工表 create table emp id intprimary keyauto increment,name varchar 10...
mysql中的事務和鎖 MySQL中的事務和鎖
鎖 行級鎖select for update nowaitfalse,skip false 注意必須用在事物裡面 所有匹配的行將被鎖定,知道事務結束。這意味著可以通過鎖防止資料被其他事務修改。一般情況下如果其他事務鎖定了相關行,那麼本查詢將被阻塞,直到鎖被釋放。事務事務的四大特性 1.原子性 事務包...