全球旧事资料 分类
涉及到的数据加上共享琐,阻塞其他事务修改真实数据。4验证事务与锁定示例验证事务与锁定示例事务与锁定接下来,我们将以MySQL中的I
oDB引擎,解释其如何实现ACID特性,不同隔离级别下事务与事务之间的影响。示例表结构:CREATETABLEaccou
tIDi
t11NOTNULLAUTO_INCREMENTVACCOUNT_IDvarchar32NOTNULLGMT_CREATEdatetimeNOTNULLPRIMARYKEYIDKEYidx_VACCOUNT_PARAMETER_VACCOUNTIDVACCOUNT_IDENGINEI
oDBAUTO_INCREMENT1DEFAULTCHARSETutf8COLLATEutf8_ge
eral_ci然后向表accou
t中写入10W条创建日期分布合理的帐号数据,以方便测试之用。
ftx_isolatio
:tx_isolatio
readtx_isolatio
:SETGLOBALtx_isolatio
readu
committedID12事务1STARTTRANSACTIONSELECTVACCOUNT_IDfromaccou
twhereID1001caimao101510STARTTRANSACTION3UPDATEaccou
tsetVACCOUNT_IDu
committedwhereID1001SELECTVACCOUNT_IDfromaccou
t1001SELECTVACCOUNT_IDfromaccou
twhereID1001u
committedROLLBACKSELECTVACCOUNT_IDfromaccou
twhereID1001COMMITcaimao101510whereIDu
committed事务1输出事务2事务2输出
4
5678
tx_isolatio
:tx_isolatio
readtx_isolatio
:SETGLOBALtx_isolatio
readcommittedID1234事务1STARTTRANSACTIONSELECTVACCOUNT_IDfromaccou
twhereID1001caimao101510STARTTRANSACTIONUPDATEaccou
tsetVACCOUNT_IDu
committedwhereID1001SELECTVACCOUNT_IDfromaccou
t1001SELECTVACCOUNT_IDfromaccou
twhereID1001caimao101510COMMITSELECTVACCOUNT_IDfromaccou
twhereID1001COMMITu
committedwhereIDu
committed事务1输出事务2事务2输出
5
6789
ftx_isolatio
:tx_isolatio
REPEATABLEtx_isolatio
:SETGLOBALtx_isolatio
REPEATABLEREADID1234事务1STARTTRANSACTIONSELECTVACCOUNT_IDfromaccou
twhereID1001caimao101510STARTTRANSACTIONUPDATEaccou
tsetVACCOUNT_IDu
committedwhereID1001SELECTVACCOUNT_IDfromaccou
t1001SELECTVACCOUNT_IDfromaccou
twhereID1001caimao101510COMMITSELECTVACCOUNT_IDfromaccou
twhereID1001COMMITcaimao101510whereIDu
committed事务1输出事务2事务2输出
5
6789
tx_isolatio
:tx_isolatio
:SETGLOBALtx_isolatio
SERIALIZABLEID123事务1STARTTRANSACTIONSELECTVACCOUNT_IDfromaccou
twhereID1001caimao101510STARTTRANSACTIONUPDATEaccou
tset4VACCOUNT_IDu
committedwhereID10015SELECTVACCOUNT_IDfromaccou
twhereID1001caimao101510事务2超时67COMMITSTARTTRANSACTIONUPDATEaccou
tset8VACCOUNT_IDu
committedwhereID100191011STARTTRANSACTIONSELECTVACCOUNT_IDfromaccou
twhereID1001事务2超时STATE:statisticsSTATEUpdati
g事务1输出事务2事务2输出
f12
commit
tx_isolatio
:tx_isolatio
REPEATABLEtx_isolatio
:SETGLOBALtx_isolatio
REPEATABLEREADID123UPDATEr
好听全球资料 返回顶部