Mysql数据库事务四大特性、事务状态、事务使用、事务隔离级别

本文深入探讨了Mysql数据库的事务,包括事务的四大特性(原子性、一致性、隔离性、持久性)、事务的状态(活动、部分提交、失败、中止、提交)以及如何使用事务(显式、隐式、保存点)。同时,介绍了事务的四种隔离级别及其解决的并发问题,如脏写、脏读、不可重复读和幻读。在Mysql中,设置事务隔离级别的方法也进行了讲解。
摘要由CSDN通过智能技术生成


前言

  每当被问到事务四大特性、事务状态、事务使用、事务隔离级别,你心里都有底吗?本文详细地介绍了这些内容,并通过举例来解释:它们解决了什么样的生产问题。


一、事务是什么?

  事务是区别文件系统的重要特性之一,事务就是一组操作,要么都成功,要么回滚。
  连接Mysql数据库后,用SHOW ENGINES查看数据库引擎,我们可以发现只有InnoDB支持事务,MyISAM不支持事务。

二、事务四大特性ACID

1.原子性

  一组操作是整体,不能再分,要么全部成功,要么全部失败回滚;

2.一致性

  从一种合法状态变成另外一种合法状态。例如: 假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。

3.隔离性

  事务之间互不干扰。理想状态是:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。

4.持久性

  结果永久保存。即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。持久性是通过事务日志来保证的:重做日志、回滚日志。

二、事务的状态

1.活动的

  事务对应的数据库操作正在执行。

2.部分提交的

  事务中最后一个操作完成,但是还未写到磁盘。

3.失败的

  当事务处于活动或部分提交,出错无法继续执行,或人为停止当前事务提交。

4.中止的

  回滚后的状态;

5.提交的

  部分提交状态的事务将修改的数据写到磁盘之后。
在这里插入图片描述
  如图所示,提交的、终止的才是事务的最终状态。
  对于已经提交的事务来说,该事务对数据库所做的修改是永久生效的;
  对于处于中止的事务,该事务对数据库所做的修改都将被回滚到没执行该事务之前的状态。

三、事务的使用

1.显式事务

  通过start transactionbegin开启,其中start transaction开启式可以指定只可读,还是读写,默

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值