MYSQL事务的开启与提交

对于一个MYSQL数据库(InnoDB),事务的开启与提交模式无非下面这两种情况:

1>若参数autocommit=0,事务则在用户本次对数据进行操作时自动开启,在用户执行commit命令时提交,用户本次对数据库开始进行操作到用户执行commit命令之间的一系列操作为一个完整的事务周期。若不执行commit命令,系统则默认事务回滚。总而言之,当前情况下事务的状态是自动开启手动提交。

2>若参数autocommit=1(系统默认值),事务的开启与提交又分为两种状态:

①手动开启手动提交:当用户执行start transaction命令时(事务初始化),一个事务开启,当用户执行commit命令时当前事务提交。从用户执行start transaction命令到用户执行commit命令之间的一系列操作为一个完整的事务周期。若不执行commit命令,系统则默认事务回滚。

②自动开启自动提交:如果用户在当前情况下(参数autocommit=1)未执行start transaction命令而对数据库进行了操作,系统则默认用户对数据库的每一个操作为一个孤立的事务,也就是说用户每进行一次操作系都会即时提交或者即时回滚。这种情况下用户的每一个操作都是一个完整的事务周期。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mysql分批提交事务是指将一个较大的事务拆分为多个小的子事务进行提交的过程。这种方式可以有效地减少事务的锁定时间,提高数据库的并发性能。 具体来说,使用分批提交事务的方法如下: 1. 首先,将整个事务划分为多个子事务。可以根据业务逻辑和数据操作的复杂性来确定子事务的划分方式。 2. 在每个子事务的开始和结束之间加上事务开启提交语句。例如,在每个子事务的开始处执行"START TRANSACTION"语句,在每个子事务的结束处执行"COMMIT"语句。 3. 在子事务之间进行必要的数据操作,例如插入、更新或删除数据。 4. 在每个子事务的结束处检查是否需要继续执行下一个子事务。可以使用条件语句或循环来判断是否满足继续执行的条件。 5. 如果满足继续执行的条件,则跳转到下一个子事务的开始处,继续执行下一个子事务。 6. 如果不满足继续执行的条件,则跳出循环或结束事务的执行。 通过以上步骤,可以将一个较大的事务分解为多个小的子事务,并分批提交。这样可以减少事务的锁定时间,提高数据库的并发性能。 值得注意的是,在使用分批提交事务的过程中,需要谨慎处理每个子事务的异常情况。如果在某个子事务中发生了异常,需要进行回滚操作,确保数据的一致性。 总结起来,Mysql分批提交事务的方法是将一个较大的事务拆分为多个小的子事务,并在每个子事务的开始和结束处加上事务开启提交语句。这样可以提高数据库的并发性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值