InnoDb事物的幾個特性總結

1:InnoDb的四個特性:一致性、原子性、持久性、隔離性
2:事物的隔離級別:可重複讀、讀已提交、讀未提交、串行化
3:查看當前的事物隔離級別php

show varibles like "transaction-isolation'

4:幻讀:幻讀是一個事物在事物開始中,兩次select查詢的結果不一直, 這產生的幻讀。幻讀存在的隔離級別有 R-U R-C R-R 。
5:幻讀的解決方法:在RR的隔離級別下,咱們對記錄手動加上X鎖的方法消除幻讀(在Innodb的行鎖鎖定的是這個索引,估在記錄實體存在與否沒有關係,存在就在X鎖,不存在就加 next-key lock/間隙鎖),其餘事物則沒法插入此索引記錄,避免幻讀)
5:共享鎖(shared):又稱爲S鎖,讀鎖。一個事物對數據對象O記上S鎖,能夠對O進行讀取操做,可是不能進行更新操做。加鎖期間其餘事物能對o加s鎖,可是能加X鎖
6:排他鎖(Exclusive):又稱爲X鎖,寫鎖。一個事物對數據0加上X鎖,就能夠對O進行讀取和更新。加上期間其餘事物不能對0加任何鎖。segmentfault

參考文檔:https://juejin.cn/post/684490...
https://segmentfault.com/a/11...post

相關文章
相關標籤/搜索