MySQL面试之事务详解

select操作。InnoDB只查找版本早于(包含等于)当前事务版本的数据行。可以确保事务读取的行,要么是事务开始前就已存在,或者事务自身插入或修改的记录。行的删除版本要么未定义,要么大于当前事务版本号。可以确保事务读取的行,在事务开始之前未删除。insert操作。将新插入的行保存当前版本号为行版本号。delete操作。将删除的行保存当前版本号为删除标识。update操作。变为insert和delete操作的组合,insert的行保存当前版本号为行版本号,delete则保存当前版本号到原来的行作.
摘要由CSDN通过智能技术生成

事务是什么?

事务是一系列的数据库操作,是数据库应用的基本单位。MySQL 事务主要用于处理操作量大,复杂度高的数据。其主要有下事务特性、脏读、幻读、不可重复读、事务隔离、并发事务以及事务实现原理。
在这里插入图片描述

MySQL中只有InoDB引擎支持事物,具有四个特性如下:

  • 原子性(Atomic):要么全部执行,要么全部不执行。
  • 一致性(Consistency):事物执行使得数据库从一种正确状态转化为另一种正确状态。
  • 隔离性(Isolation):在事物正确提交前,不允许把事物对数据的任何改变提供给其他事物。(加锁)
  • 持久性(Durability):事物提交后,其结果永久保存在数据库中。

什么是脏读?

在事物A修改数据之后提交数据之前,事物B来读取数据,如果不加控制,事物B读取A修改过数据,之后A又对数据作了修改再提交,则B读到的数据是脏数据,此过程称为脏读Dirty Read。

什么是幻读?

幻读的重点在于新增或者删除:在同一事物中,同样的条件,第一次和第二次读出来的记录数<

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值