关于MySQL常见的面试题

MySQL事务的四大特性

  • 原子性:事务是一个不可分割的最小单位,事务操作要么全部提交成功,要么全部失败回滚
  • 隔离性:事务在没有提交之前是对其他事务不可见的
  • 一致性:在事务开始之前和事务结束以后,保持的状态必须是一只,代表着数据库的完整性没有被破坏
  • 持久性:事务处理结束后,对数据的修改是永久的,即便系统故障也不会丢失

小结:原子性是事务隔离的基础,隔离性和持久性是手段,最终目的是为了保持数据的一致性

事务的并发问题

  1. 脏读: 事务A读取了事务B更新的数据,然后B进行回滚操作,那么事务A读取到的数据就是脏数据
  2. 不可重复度:事务A多次读取同一个数据,事务B在事务A多次读取的过程中,对数据进行了更新并提交,导致事务A多次读取统一数据时,结果不一致
  3. 幻读:操作人A将数据库所有学生的成绩从具体分数改为ABCDE进行等级划分,就在同时,操作人B添加了一条新的学生数据,当A修改数据结束后,发现还有一条数据没有改过来,就好像出现了幻觉

小结:不可重复读和幻读容易混淆,在这里解释说明, 不可重复读主要侧重于修改数据, 而幻读侧重于添加或删除数据。

事务隔离级别

事务隔离级别脏读不可重复读幻读
读未提交(read-uncommitted)
不可重复读(read-committed)
可重复读(repeatable-read)
串行化(read-uncommitted)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值