MySQL 作为主流的数据库,是各大厂面试官百问不厌的知识点,但是需要了解到什么程度呢?仅仅停留在 建库、创表、增删查改等基本操作的水平可不够。在面试后端开发的时候,一连几个问题,简直会被问到一脸懵逼。
MySQL 语句怎么优化?分库,分表都适合哪些场景?讲讲 InnoDB 如何使用 B+ 树存储的?
一般来说,准备 MySQL 面试 ,无非要从这几块进行准备:查询、存储、事务、锁和性能调优。不少朋友苦于搜集资料耗时耗力,很难 cover 住面试官的考核角度。为了能让大家在准备面试时少走弯路,这里特别熬夜快一周了,精心整理各大厂 MySQL 面试题的主流考点,经过多次迭代,最终形成了这份MySQL面试文档及学习笔记,从中你可以学到:
收获完整的 MySQL 学习路径
针对实际场景分析数据库问题,进行性能调优
吸收业界专家的经验分享,加速 MySQL 技能进阶
加深 MySQL 底层和核心技术的理解
轻松应对面试中 MySQL 问题
MySQL基础到高级到调优笔记
学习笔记主要分为12个模块,具体有:
由于篇幅字数原因,在这只展示详细目录及内容的截图了,有需要的朋友可以在文末无偿拿走!!
MySQL重要性质
MySQL安装及Mysq|权限
MySQL数据类型
MySQL架构
存储引擎
锁
事务
业务设计
慢查询
索引与执行计划
SQL优化
MySQL面试解析108题文档
这份面试文档共5个模块,108道题解析分别有以下模块
MySQL基础模块
说一下 MySQL 执行一条查询语句的内部执行过程?
MySQL 提示“不存在此列”是执行到哪个节点报出的?
MySQL 查询缓存的功能有何优缺点?
如何关闭 MySQL 的查询缓存功能?
MySQL 的常用引擎都有哪些?
MySQL 可以针对表级别设置数据库引擎吗?怎么设置?
常用的存储引擎 InnoDB 和 MyISAM 有什么区别?
InnoDB 有哪些特性?
一张自增表中有三条数据,删除了两条数据之后重启数据库,再新增一条数据,此时这条数据的 ID 是几?
MySQL 中什么情况会导致自增主键不能连续?
InnoDB 中自增主键能不能被持久化?
...
MySQL索引模块
什么是索引?
索引分别有哪些优点和缺点?
以下 SQL 有什么问题?该如何优化?
为什么 MySQL 官方建议使用自增主键作为表的主键?
自增主键有哪些优缺点?
索引有几种类型?分别如何创建?
主索引和唯一索引有什么区别?
在 InnDB 中主键索引为什么比普通索引的查询性能高?
什么叫回表查询?
如何查询一张表的所有索引?
MySQL 最多可以创建多少个索引列?
以下 like 查询会使用索引的是哪一个选项?为什么?
如何让 like %abc 走索引查询?
...
MySQL事务模块
事务是什么?
事务有哪些特性?
MySQL 中有几种事务隔离级别?分别是什么?
幻读和不可重复读的区别?
并发事务一般有哪些问题?
并发事务有什么什么问题?应该如何解决?
什么是 MVCC?
MVCC 是怎么工作的?
REPEATABLE READ(可重读)隔离级别下 MVCC 如何工作?
MySQL 事务实现原理是什么?
如何设置 MySQL 的事务隔离级别?
...
MySQL日志模块
什么是锁?MySQL 中提供了几类锁?
什么是死锁?
常见的死锁案例有哪些?
如何处理死锁?
如何查看死锁?
如何避免死锁?
InnoDB 默认是如何对待死锁的?
如何开启死锁检测?
什么是全局锁?它的应用场景有哪些?
什么是共享锁?
什么是排它锁?
使用全局锁会导致什么问题?
如何处理逻辑备份时,整个数据库不能插入的情况?
...
MySQL日志篇
MySQL性能优化模块
什么是慢查询?
如何开启慢查询日志?
如何定位慢查询?
MySQL 的优化手段都有哪些?
MySQL 常见读写分离方案有哪些?
介绍一下 Sharding-JDBC 的功能和执行流程?
...
MySQL面试解析108题文档
由于篇幅字数原因,以上的MySQL学习笔记和MySQL面试解析108题文档已经整理成离线文档了,有需要的朋友麻烦三连,无偿拿走---私信【MySQL笔记】即可!!!