Mysql(5.5.53)事务与并发测试

本文通过实例探讨了Mysql事务在并发环境下的行为,包括查询、更新、插入和删除操作。测试结果显示,更新和删除操作会触发排他锁,而查询操作则不会。此外,事务中插入操作会影响主键自增,即使回滚也会占用主键ID。并发场景下,事务隔离性可能导致数据一致性问题,需要合理设计事务以确保稳定性。
摘要由CSDN通过智能技术生成

测试材料
1.在事务中使用查询遇上并发的情况
(1)线程1事务开启,线程2查询数据
原始数据:tea_name=’bbb’;
线程1:START TRANSACTION;
线程1:SELECT * from t_a_tea where tea_id=1;
线程2:SELECT * from t_a_tea where tea_id=1;
结果:bbb(tea_id=1时tea_name的数据)
结论:查询不会触发Mysql共享锁(读锁)
(2)线程1事务已开启,线程1查询数据,线程2修改数据,线程1读取数据
原始数据:tea_name=’bbb’;
线程1:START TRANSACTION;
线程1:SELECT * from t_a_tea where tea_id=1;
线程2:UPDATE t_a_tea set tea_name=‘ccc’ where tea_id=1;
线程1:SELECT * from t_a_tea where tea_id=1;
结果:bbb(tea_id=1时tea_name的数据)
结论:查询不会触发Mysql排他锁(写锁),但是事务的隔离性会导致查询到错误的数据
(3)线程1事务已开启,线程2修改数据,线程1读取数据
原始数据:tea_name=’bbb’;
线程1:START TRANSACTI

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值