MySQL面试题纯享版

基础内容

1、MySQL的架构分层

2、一条 SQL 查询语句的执行流程

3、如何查看 MySQL 服务被多少个客户端连接了?

4、 空闲连接会一直占用着吗?

5、MySQL 的连接数有限制吗?

6、 怎么解决长连接占用内存的问题?

7、执行器与存储引擎交互的三种方式是什么?

获取答案


索引

1、什么是索引?

2、索引的分类有哪些?

3、联合索引的最左匹配规则与范围查询的关系

4、什么时候适用索引?

5、什么时候不需要创建索引?

6、有什么优化索引的方法?

7、详细说说EXPLAIN语句查询结果中各字段的含义

8、count()函数的效率比较

获取答案


事务

1、事务与存储引擎的关系

2、事务的特性

3、事务特性的实现方式

4、并行事务会引发什么问题?

5、事务的隔离级别有哪些?

6、MySQL的InnoDB引擎是怎么解决幻读问题的?

7、四种隔离级别具体是如何实现的呢?

8、具体谈谈Read View

9、可重复读隔离级别下完全解决幻读了嘛?

获取答案


1、MySQL 有哪些锁?

2、MySQL是怎么加行锁的?

3、next-key lock退化场景是怎么样的(唯一等值、唯一范围、不唯一等值、不唯一范围)

获取答案


日志

1、为什么需要 undo log?

2、为什么需要 Buffer Pool?

3、Buffer Pool 缓存什么?

4、为什么需要 redo log ?

5、什么是 redo log?

6、产生的 redo log 是直接写入磁盘的吗?

7、redo log 什么时候刷盘?

8、redo log 文件写满了怎么办?

9、redo log和 binlog的区别

10、如果不小心整个数据库的数据被删除了,能使用 redo log 文件恢复数据吗?

11、主从复制的流程是怎么样的?

12、从库是不是越多越好?

13、MySQL 主从复制还有哪些模型?

14、binlog 什么时候刷盘?

15、一条Update语句的完整过程

16、为什么需要两阶段提交?

17、什么是两阶段提交?

18、分析两阶段提交下异常重启不会导致主从数据不一致。

19、事务没提交的时候,redo log 会被持久化到磁盘吗?这样会不会有问题?

20、两阶段提交存在什么问题?

21、怎么解决两阶段提交的问题?

22、详细说说两阶段提交的流程。

23、组提交发现MySQL的IO还是很高,有什么办法优化?

获取答案

相关推荐
一休哥助手4 分钟前
Redis 五种数据类型及底层数据结构详解
数据结构·数据库·redis
翔云12345612 分钟前
MVCC(多版本并发控制)
数据库·mysql
代码敲上天.28 分钟前
数据库语句优化
android·数据库·adb
盒马盒马1 小时前
Redis:zset类型
数据库·redis
静听山水1 小时前
mysql语句执行过程
数据库·mysql
虽千万人 吾往矣1 小时前
golang gorm
开发语言·数据库·后端·tcp/ip·golang
Q_w77422 小时前
一个真实可用的登录界面!
javascript·mysql·php·html5·网站登录
mariokkm2 小时前
Django一分钟:在Django中怎么存储树形结构的数据,DRF校验递归嵌套模型的替代方案
数据库·django·sqlite
Wang's Blog3 小时前
Redis: 集群环境搭建,集群状态检查,分析主从日志,查看集群信息
数据库·redis
容器( ु⁎ᴗ_ᴗ⁎)ु.。oO3 小时前
MySQL事务
数据库·mysql