Innodb引擎可重复读的幻读现象

关于幻读 众所周知,MySQL不同的隔离级别可能会出现不同的问题。其中,有一问题就是在可重复读隔离级别会出现幻读问题。可能会有人说:不是说MySQL的可重复读隔离级不会出现幻读吗?怎么会出现幻读? 这里有2个问题需要明确: ① MySQL官方并未说明可重复读隔离级别不会出现幻读 ② 什么是幻读 问题① 查看MySQL官方相关资料,官方也会标明可重复读隔离级别可能会出现幻读 问题② 要理解幻读是可见与不可见的一种权衡。如果用一句话说明,那就是:幻读是看不到数据,却能感受到它存在的一种现象 产生幻读的本质是不同读的方式:当前读 or 快照读,这两种方式的选择 数据库中数据操作方式,一般分...

数据库 2022/05/08 204℃ 0条

MySQL事务分类与验证

MySQL事务特性 原子性 整个事务是不可分割的最小执行单元,要么全部成功,要么全部失败 一致性 总是从一个一致性状态转换到另一个一致状态(不存在中间态) 隔离性 一个事务所做修改在最终提交前,对其他事务不可见 持久性 一旦事务提交,其修改会永久保存到数据库中 事务的隔离级别以及对应问题 事务分类 事务分类 描述 事务ID 读事务 整个事务中只有读操作,则一直是读事务 使用事务对象地址计算得到唯一事务ID,比较大的数值 读写事务 事务中遇到第一个更新语句升级为读写事务 分配全局唯一的读写事务ID 两个问题 事务是在使用 begin / start tran...

中间件 2021/11/20 518℃ 0条