MySQL 面试题合集(事务篇)

本文详细介绍了MySQL中的事务概念、特性,包括InnoDB引擎支持的事务隔离级别、MVCC的工作原理以及并发事务可能遇到的问题及解决方案。重点讲解了如何设置隔离级别和手动操作事务。
摘要由CSDN通过智能技术生成

🎈每日定期分享 | 面试求职经验 | 个人成长

开篇寄语
面试不必死记硬背,带着GPT去面试简直降维打击!

为您推荐一款颠覆性的GPT面试助手软件:“会议面试精灵”。这款工具能够实时分析语音内容、智能识别面试问题并生成精准答案,让您轻松应对八股文题目,从容处理各类复杂面试问题。
毕竟八股文在工作中很少使用,仅作为面试的筛选工具,不值得投入过多的精力。

如何获取“会议面试精灵”?
- 直接访问下载链接:https://www.interviewpass.fun/
- 在搜索引擎中输入关键词


目录

1、事务是什么?

2、事务有哪些特性?

3、MySQL 中有几种事务隔离级别?分别是什么?

4、幻读和不可重复读的区别?

5、并发事务一般有哪些问题?

6、并发事务有什么什么问题?应该如何解决?

7、什么是 MVCC?

8、MVCC 是怎么工作的?

9、REPEATABLE READ(可重读)隔离级别下 MVCC 如何工作?

10、MySQL 事务实现原理是什么?

11、如何设置 MySQL 的事务隔离级别?

12、InnoDB 默认的事务隔离级别是什么?如何修改?

13、InnoDB 如何开启手动提交事务?

14、在 InnoDB 中设置了 autocommit=0,添加一条信息之后没有手动执行提交操作,请问这条信息可以被查到吗?

15、如何手动操作事务?​​​​​​​


1、事务是什么?

事务是一系列的数据库操作,是数据库应用的基本单位。MySQL 事务主要用于处理操作量大,复杂度高的数据。

2、事务有哪些特性?

在 MySQL 中只有 InnDB 引擎支持事务,它的四个特性如下:

- 原子性(Atomic):要么全部执行,要么全部不执行;

- 一致性(Consistency):事务的执行使得数据库从一种正确状态转化为另一种正确状态;

- 隔离性(Isolation):在事务正确提交之前,不允许把该事务对数据的任何改变提供给其他事务;

- 持久性(Durability):事务提交后,其结果永久保存在数据库中。

3、MySQL 中有几种事务隔离级别?分别是什么?

MySQL 中有四种事务隔离级别,它们分别是:

- read uncommited:未提交读,读到未提交数据;

- read committed:读已提交,也叫不可重复读,两次读取到的数据不一致;

- repetable read:可重复读;

- serializable:串行化,读写数据都会锁住整张表,数据操作不会出错,但并发性能极低,开发中很少用到。

MySQL 默认使用 REPEATABLE-READ 的事务隔离级别。

4、幻读和不可重复读的区别?

不可重复读的重点是修改:在同一事务中,同样的条件,第一次读的数据和第二次读的数据不一样。(因为中间有其他事务提交了修改)。

幻读的重点在于新增或者删除:在同一事务中,同样的条件,,第一次和第二次读出来的记录数不一样。(因为中间有其他事务提交了插入/删除)。

5、并发事务一般有哪些问题?

1、更新丢失(Lost Update):当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,由于每个事务都不知道其他事务的存在,就会发生丢失更新问题,最后的更新覆盖了由其他事务所做的更新。例如,两个编辑人员制作了同一文档的电子副本,每个编辑人员独立地更改其副本,然后保存更改后的副本,这样就

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值