交易和隔離等級
交易的概念:交易是把對資料庫的一系列操作都看做一個整體,要麼全部成功,要嘛全部失敗,利用事務我們可以保證資料庫的完整性,事務具有原子性。
隔離等級:隔離等級定義了交易與交易之間的隔離距離。
髒讀(dirty read):當一個交易讀取另一個交易未提交的修改時,產生髒讀。
(相關視訊教學推薦:mysql視訊教學)
無法重複讀取(nonrepeated read):相同查詢在相同交易中多次進行,由於其他交易提交所做的修改,導致每次回傳的結果不同,此時發生不可重複讀。
幻讀(phantom read):相同查詢在相同交易中多次進行,由於其他交易或提交所做的新增或刪除操作,導致每次得到的不同的結果集,此時發生幻讀。
不可重複讀取著重於修改,幻讀著重於新增或刪除。解決不可重複讀只需要鎖住滿足條件的行,解決幻讀需要鎖定表。
MySQL的交易隔離等級有四個
讀取未提交(Read uncommitted)
讀取已提交(Read committed)
可重複讀取(Repeated read)
可串列化(Serializable)
MySQL預設隔離等級為:可重複讀取(Repeated read)
相關文章教學推薦:mysql教學
#以上是mysql隔離級別的詳細內容。更多資訊請關注PHP中文網其他相關文章!