mysql一张表索引最多几个性能好_砍下五家大厂Offer拿到39K月薪MySQL面试笔记解析:索引+优化+锁+慢查询+事务+日志...

91b23a704614c2790bbe15302a9879d2.png

MySQL 作为主流的数据库,是各大厂面试官百问不厌的知识点,但是需要了解到什么程度呢?仅仅停留在 建库、创表、增删查改等基本操作的水平可不够。在面试后端开发的时候,一连几个问题,简直会被问到一脸懵逼。

MySQL 语句怎么优化?分库,分表都适合哪些场景?讲讲 InnoDB 如何使用 B+ 树存储的?

一般来说,准备 MySQL 面试 ,无非要从这几块进行准备:查询、存储、事务、锁和性能调优。不少朋友苦于搜集资料耗时耗力,很难 cover 住面试官的考核角度。为了能让大家在准备面试时少走弯路,这里特别熬夜快一周了,精心整理各大厂 MySQL 面试题的主流考点,经过多次迭代,最终形成了这份MySQL面试文档及学习笔记,从中你可以学到:

收获完整的 MySQL 学习路径

针对实际场景分析数据库问题,进行性能调优

吸收业界专家的经验分享,加速 MySQL 技能进阶

加深 MySQL 底层和核心技术的理解

轻松应对面试中 MySQL 问题

MySQL基础到高级到调优笔记

学习笔记主要分为12个模块,具体有:

ef9362bb0f76c50b1e72b13b27a488d9.png

由于篇幅字数原因,在这只展示详细目录及内容的截图了,有需要的朋友可以在文末免费获取!

f744073c32c85cb85e07d4af63906165.png

MySQL重要性质

9cdadfb784fd8f5187fdc79a8ebbe93f.png

MySQL安装及Mysq|权限

95c920079a691c6b9483a12b32fba71e.png

MySQL数据类型

cb2294dbc0a3b60145f164134ae41cf8.png

MySQL架构

e3f594bf9ec0ffa48d9cf3bfdda11032.png

存储引擎

fc7d3a69721a97b927f153162821ef94.png

e20a0bf27b1e5fa9f5038885581f4713.png

事务

adc2f4783e0f32d2d810352b23ca940b.png

业务设计

c8421ee58d07daa03bff3e338728a518.png

慢查询

f87cc64baab3739e6f6ca920497db02c.png

索引与执行计划

5f77ed513acbc678803f403ca2a1b8e8.png

SQL优化

2493a9260a3d21d16ff512494ba7c60e.png

MySQL面试解析108题文档

这份面试文档共5个模块,108道题解析分别有以下模块

MySQL基础模块

说一下 MySQL 执行一条查询语句的内部执行过程?

MySQL 提示“不存在此列”是执行到哪个节点报出的?

MySQL 查询缓存的功能有何优缺点?

如何关闭 MySQL 的查询缓存功能?

MySQL 的常用引擎都有哪些?

MySQL 可以针对表级别设置数据库引擎吗?怎么设置?

常用的存储引擎 InnoDB 和 MyISAM 有什么区别?

InnoDB 有哪些特性?

一张自增表中有三条数据,删除了两条数据之后重启数据库,再新增一条数据,此时这条数据的 ID 是几?

MySQL 中什么情况会导致自增主键不能连续?

InnoDB 中自增主键能不能被持久化?

...

a03a7c05bc913adbfa6e2eea659d064d.png

MySQL索引模块

什么是索引?

索引分别有哪些优点和缺点?

以下 SQL 有什么问题?该如何优化?

为什么 MySQL 官方建议使用自增主键作为表的主键?

自增主键有哪些优缺点?

索引有几种类型?分别如何创建?

主索引和唯一索引有什么区别?

在 InnDB 中主键索引为什么比普通索引的查询性能高?

什么叫回表查询?

如何查询一张表的所有索引?

MySQL 最多可以创建多少个索引列?

以下 like 查询会使用索引的是哪一个选项?为什么?

如何让 like %abc 走索引查询?

...

39e949f19d79da6e0c2960c64df6d5b2.png

MySQL事务模块

事务是什么?

事务有哪些特性?

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

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

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

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

什么是 MVCC?

MVCC 是怎么工作的?

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

MySQL 事务实现原理是什么?

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

...

MySQL日志模块

什么是锁?MySQL 中提供了几类锁?

什么是死锁?

常见的死锁案例有哪些?

如何处理死锁?

如何查看死锁?

如何避免死锁?

InnoDB 默认是如何对待死锁的?

如何开启死锁检测?

什么是全局锁?它的应用场景有哪些?

什么是共享锁?

什么是排它锁?

使用全局锁会导致什么问题?

如何处理逻辑备份时,整个数据库不能插入的情况?

...

b617266f1ec8b889e89ff74b196cd424.png

MySQL日志篇

65bcae1f8c49f4d03e169a6831b4cf69.png

MySQL性能优化模块

什么是慢查询?

如何开启慢查询日志?

如何定位慢查询?

MySQL 的优化手段都有哪些?

MySQL 常见读写分离方案有哪些?

介绍一下 Sharding-JDBC 的功能和执行流程?

...

0d7687fff10d23d7915c4a06f265bd68.png

5dc947abdff86e052bce83bf37b42f48.png

MySQL面试解析108题文档

20d3466f4718ebf4dac44de4eef72b7b.png

由于篇幅字数原因,以上的MySQL学习笔记和MySQL面试解析108题文档已经整理成离线文档了,有需要的朋友麻烦点赞文章+关注我,免费获取哦方式获取方式在这篇文章最上边的封面图片中!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值