【Java八股-第二十五期】MySQL - MySQL
提纲:
🔥MySQL
MySQL结构 &SQL语句执行流程
三范式
InnoDB & MyISAM
🎈面试八股真题——在【Java八股-第二十八期】优化 中总结
一、MySQL
1. MySQL结构 &SQL语句执行流程
-
1、若是 Select 语句,先从查询缓存中查看是否存在同样的语句的查询结果缓存,若有,直接返回
-
2、由查询分析器解析查询语句
-
3、由优化器进行查询语句优化,主要是选择是否使用索引,以及使用哪一个索引
-
4、由执行器使用接口调用存储引擎进行存储,MySQL 中存储引擎是插件式的,根据用户选择使用具体引擎,默认使用 InnoDB 引擎
-
5、在 InnoDB 引擎中,首先查看缓存池中是否存在 sql 语句对应的缓存数据,若没有,从数据库加载
-
6、执行增删改语句时,直接在缓存中进行修改
-
7、因为在缓存中修改的数据会由于 MySQL 主机宕机而消失,是脏数据,InnoDB 引擎使用 redo-log 来保证事务的持久性,在对缓存中数据进行修改时,还会将修改后的数据写入一个 redo-log Buffer 缓存中,并定时刷入磁盘中的 redo-log,在 MySQL 宕机重启后,就会通过 redo-log 来恢复已经提交了的修改事务
-
8、InnoDB 引擎还通过 undo-log 中的版本链来实现事务的回滚以及 MVCC 的 read-view,因此在修改缓存中数据
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
【📫专栏目录在最底部📫】 - 本专栏适合于JAVA已经入门的学生或人士,有一定的编程基础。 - 本专栏特点: 本专刊囊括了JAVA、Spring、计算机网路、操作系统、计算机网络、MySQL、算法与数据结构、中间件等一系列知识点,总结出了高频面试考点(附有答案),事半功倍,为大家春秋招助力。 - 本专栏内容分为五章