2022锤爆35K月薪的MySQL面试笔记解析:索引+优化+锁+慢查询+事务

发布于:2022-12-06 ⋅ 阅读:(257) ⋅ 点赞:(0)

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题文档

 

了,本文就写到这了,上述所有题目的答案我都整理成 PDF 了

!!以上提及到的所有的笔记内容、面试题、简历等资料,均可以在公众号【退休程序猿】上免费分享给大家学习!!    


网站公告

今日签到

点亮在社区的每一天
去签到