mysql详解隔离级别操作过程(cmd)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql详解隔离级别操作过程(cmd),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2663字,纯文字阅读大概需要4分钟。
内容图文
![mysql详解隔离级别操作过程(cmd)](/upload/InfoBanner/zyjiaocheng/584/1960450f40534df188a6a861a6e72889.jpg)
读未提交示例操作过程-Read uncommitted
1、打开两个MySql的命令提示行,均进入相同数据库,并检查当前表内容为相同数据如下:
2、在A、B两端执行select @@tx_isolation;检查当前默认的隔离级别别,可以发现都是
Repeatable Read –可重复读-(在当前事务内,重复读取第一次读取过的数据就叫可重复读。)
3、修改A端的隔离级别为readuncommitted –读未提交。意思是可以读取别人没有提交的数据。
set transactionisolation level read uncommitted;
在绿色的MySql5.5上请执行:
Set sessiontransaction isolation level read uncommitted;
然后再查看是否已经发生改变:
4、在A、B两端都开启事务
starttransaction;
5、在B端修改一行数据如:
update stud setname='Jhon' where id=1;
其后在A端执行查询:select * from stud;
6、此时B端再次执行回滚操作
Rollback;
再在A端进行查询,结果发现数据又回到了之前的数据。这就是脏读:
7、对于B端写入的新数据,如果没有提交A端也一样能查询到,这叫幻读。
读已提交操作过程:-read COMMITTED
1、 检查A、B两端是否一致:
2、修改A端(左)的隔离级别为readcommitted;
set transactionisolation level read committed;
在A端开启事务:
starttransaction;
在B端开启事务
3、在A端进行查询:
Select * fromstud;
在B端修改一行记录并提交
Update stud setname='itcast' where id=1;
再回到A端进行查询,发现在同一个事务内,两次查询的结果不一样:
可重复读示例Repeatable Read
1、查看A端的隔离级别是否为Repeatableread级别:
Select@@tx_isolation;
2、先在A端在开启的事务内进行查询。
然后在B端修改数据库的内容。
最后再在A端的同一事务内进行查询,发现结果一致。
Serializable是最高级的隔离级别
1、在A端设置隔离级别为Serializable
set transactionisolation level serializable;
在A端开启一个事务-并对stud表进行查询。
在B端开启一个事务,并写入一行记录。此时发现B的代码并没有执行,因为它在等A提交之后它才执行。
类似于线程同步的概念
这四种隔离级别采取不同的锁类型来实现,若读取的是同一个数据的话,就容易发生问题。例如:
脏读(Drity Read):某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack(回滚)了操作,则后一个事务所读取的数据就会是不正确的。
不可重复读(Non-repeatable read):在一个事务的两次查询之中数据不一致,这可能是两次查询过程中间插入了一个事务更新的原有的数据。
幻读(Phantom Read):在一个事务的两次查询中数据笔数不一致,例如有一个事务查询了几列(Row)数据,而另一个事务却在此时插入了新的几列数据,先前的事务在接下来的查询中,就会发现有几列数据是它先前所没有的
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
- MySQL锁(表锁,行锁,共享锁,排它锁,间隙锁)使用详解
- 深入理解Mysql的四种隔离级别
- MySQL中Innodb的事务隔离级别和锁的关系的讲解教程
- MySQL数据库事务隔离级别介绍(Transaction Isolation Level)
- 浅析MYSQL REPEATABLE-READ隔离级别
- MySQL 四种事务隔离级别详解及对比
- mysql+Spring数据库隔离级别与性能分析
- MySQL四种事务隔离级别详解
- MySQL数据库事务隔离级别详解
- MySQL可重复读级别能够解决幻读吗
内容总结
以上是互联网集市为您收集整理的mysql详解隔离级别操作过程(cmd)全部内容,希望文章能够帮你解决mysql详解隔离级别操作过程(cmd)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。