mysql事務(wù)隔離級別詳情
serializable
串行化(無問題)
事務(wù)必須以順序的方式執(zhí)行,前一個事務(wù)提交之前后面的事務(wù)無法進(jìn)行提交,最安全,但是不能并發(fā)操作,導(dǎo)致效率低下.
repeatab read
可重復(fù)讀(默認(rèn)隔離級別)(幻讀)
在一個事務(wù)未提交之前,里面不論執(zhí)行多少次查詢,查詢的結(jié)果都一樣(即使這條記錄被別的事務(wù)修改過)但是可能會出現(xiàn)幻讀
read committed
讀已提交(不可重復(fù)度,幻讀)
在當(dāng)前事務(wù)中別的事務(wù)提交的數(shù)據(jù)可以看到,那么可能會導(dǎo)致不可重復(fù)讀(另一個線程提交數(shù)據(jù)后當(dāng)前線程可以看到,然后就會導(dǎo)致前后兩次同一條sql查詢出來的結(jié)果不一樣(對比可重復(fù)讀)).
也可能出現(xiàn)幻讀
user1查詢wangwu是沒有的,然后user2開啟事務(wù)并且插入wangwu但是不提交數(shù)據(jù),user1再次查詢還是沒有的,執(zhí)行插入wangwu操作,但是執(zhí)行失敗,明明wangw不存在但是無法插入,出現(xiàn)幻讀.
read uncommitted
讀未提交(幻讀,不可重復(fù)讀,臟讀)
- 臟讀:當(dāng)前事務(wù)會讀到其他事務(wù)未提交的數(shù)據(jù),萬一其他事務(wù)集中回滾,那么當(dāng)前事務(wù)讀取的數(shù)據(jù)是不合法的,稱為臟讀.
- 出現(xiàn)不可重復(fù)讀:其他事務(wù)提交的修改會被當(dāng)前事務(wù)感知到,從而查詢出來的結(jié)果都是不一樣的.
- 出現(xiàn)幻讀:首先user1查詢
wangwu
不存在,user2開啟事務(wù)并且插入wangwu
但是不提交事務(wù),此時user1
查詢到wangwu
存在,執(zhí)行
deletewangwu
操作是失敗的,明明查詢到了wangwu
但是無法刪除?
到此這篇關(guān)于mysql事務(wù)隔離級別詳情的文章就介紹到這了,更多相關(guān)mysql事務(wù)隔離級別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql中返回一個數(shù)據(jù)庫的所有表名,列名數(shù)據(jù)類型備注
在Mysql中怎樣返回一個數(shù)據(jù)庫的所有表名,列名數(shù)據(jù)類型備注2010-04-04如何使用分區(qū)處理MySQL的億級數(shù)據(jù)優(yōu)化
mysql在查詢上千萬級數(shù)據(jù)的時候,通過索引可以解決大部分查詢優(yōu)化問題。但是在處理上億數(shù)據(jù)的時候,應(yīng)該怎么解決,本文就是用分區(qū)來優(yōu)化一下,感興趣的一起來了解一下2021-06-06mysql報錯:Deadlock found when trying to get lock; try restarti
這篇文章主要給大家介紹了關(guān)于mysql出現(xiàn)報錯:Deadlock found when trying to get lock; try restarting transaction的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-07-07mysql嚴(yán)格模式Strict?Mode詳細(xì)說明
使用mysql嚴(yán)格模式可以使數(shù)據(jù)更加安全嚴(yán)格,缺點是減少了對空數(shù)據(jù)入庫的兼容性,下面這篇文章主要給大家介紹了關(guān)于mysql嚴(yán)格模式Strict?Mode詳細(xì)說明的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08