【Java面试题04】MySQL 篇

文章目录


一、前言🚀🚀🚀

☀️

你每一天的努力会在未来的某一个点交汇成宏伟的画面。


本文简介:本人是大三软件工程专业,java后端方向,学习路线:java基础->JDBC->Maven->MyBatis->SSM,通过做笔记分享到博客上的形式,激励自己学习,同时方便复习,欢迎大佬们评论或私信斧正 Thanks♪(・ω・)


二、MySQL 篇:☀️☀️☀️

1、MySQL 是如何实现事务的?

MySQL主要是通过:锁、RedoLog、UndoLog、MVCC来实现事务。

MySQL利用锁(行锁、间隙锁等等)机制,使用数据并发修改的控制,满足事务的隔离性

RedoLog(重做日志),它会记录事务对数据库的所有修改,当 MVSOL发生宕机或崩溃时,通过重放 redolog 就可以恢复数据,用来满足事务的持久性。

UndoLog(回滚日志),它会记录事务的反向操作,简单地说就是保存数据的历史版本,用于事务的回滚,使得事务执行失败之后可以恢复之前的样子。实现原子性和隔离性

MVCC(多版本并发控制),满足了非锁定读的需求,提高了并发度,实现了读已提交和可重复读两种隔离级别,实现了事务的隔离性。

看到这有小伙伴问一致性呢?

其实事务主要是为了实现一致性,具体是通过 AID,即原子性、隔离性和持久性来达到一致性的目的。

后序还在更新中~~~

三、总结:🍓🍓🍓

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

相关推荐
zhouwy113几秒前
Java 快速入门笔记:从基础语法到 Spring Boot 实战
java
极创信息24 分钟前
信创产品认证怎么做?信创产品测试认证的主要流程
java·大数据·数据库·金融·软件工程
SamDeepThinking43 分钟前
并发量就算只有2,该上锁还得上呀
java·后端·架构
Sam_Deep_Thinking1 小时前
如何让订单系统和营销系统解耦
java·架构·系统架构
lzhdim1 小时前
SQL 入门 12:SQL 视图:创建、修改与可更新视图
java·大数据·服务器·数据库·sql
FQNmxDG4S2 小时前
Maven依赖管理:版本冲突解决与生命周期控制
java·数据库·maven
傻瓜搬砖人2 小时前
Spring集成Web环境
java·spring·maven
FQNmxDG4S3 小时前
Java泛型编程:类型擦除与泛型方法的应用场景
java·开发语言·python
@小柯555m3 小时前
MySql(高级操作符--操作符混合运用)
数据库·sql·mysql
GottdesKrieges3 小时前
OceanBase恢复常见问题
java·数据库·oceanbase