首页 > 其他 > 详细

读已提交和可重复读的区别 命令行测试

时间:2020-08-25 18:23:07      阅读:293      评论:0      收藏:0      [点我收藏+]

可重复读:两个事务进行数据操作他们是互不干扰的 ,事务先A进行数据查询,事务B进行一次事务修改,事务B提交数据,事务A再进行一次查询,数据是不改变的。

读已提交:

 

// 涉及到的几个命令

mysql -uroot -p123456
use mydemo
select @@global.transaction_isolation,@@transaction_isolation;  (查看全局/会话隔离级别)

SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;(设置隔离级别为 可重复读)

SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;(设置隔离级别为 读已提交)

SHOW VARIABLES LIKE ‘autocommit‘; (查看是否自动提交)
set @@autocommit=0; (设置手动提交)
START transaction ;  (开启事务)
commit;  (事务提交)

 

 

1.登陆数据库查看数据

技术分享图片

 

2.查看全局/会话隔离级别(mysql默认就是可重复读,不用做修改)

技术分享图片

 

 

 

3.查看是否是自动提交,并设置为手动提交   设置autocommit为on;(ON、OFF、1、0)都可以

技术分享图片

 

 

 

-- --   开启另外一个窗口  做上述相同操作  ----

    正式开始测试

1 .两个窗口都开启事务

技术分享图片

 

 

 

2.窗口A进行一次数据查询

技术分享图片

 

 

 

3.窗口B做一个数据的删除,并查询一个数据(这里查询的数据是删除成功的,因为在同一个事务)

技术分享图片

 

 

 

4.窗口A再次查询数据  (数据是不变的)

技术分享图片

 

 

 

5. 窗口B提交事务

技术分享图片

 

 

 6. 窗口A再次查询 (数据还是不变的)

技术分享图片

 

 7. 窗口A提交

技术分享图片

 

 

8.窗口A提交之后再次查询 数据是B修改后的

技术分享图片

 

读已提交和可重复读的区别 命令行测试

原文:https://www.cnblogs.com/sunnycc/p/13560946.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!