02-MySQL 原理
2022-03-22 13:54:59 2 举报
AI智能生成
以思维导图的形式,汇总 【MySQL 原理】相关的面试点
作者其他创作
大纲/内容
从存储结构上看,有哪些索引
Hash索引|和B+树的区别?
为什么用B+树,而不是B树?B+树原理?
MySQL为什么要使用B+树,而不是使用红黑树,跳表?
效率/磁盘IO
如果加索引的字段比较大,会影响树的高度吗?
一些问题
超链接
B+
Hash索引
索引
分支主题
异步复制(默认)
增强半同步复制
全同步复制
主从复制的方式?
复制
集群
什么是数据库的事务?
事务的四大特性是什么?
怎么解决的?
脏读
不可重复读
幻读
数据库的并发一致性问题?
串行读
可重复读
读提交
读未提交
数据库的锁与隔离级别的关系?
隔离级别是如何实现的?
数据库的隔离级别有哪些?
事务回滚的实现原理
两阶段提交
事务日志
什么是MVCC?当前读?一致性读?
原理
Read View
快照?
在事务中可以混合使用存储引擎么?
你在命令行输入一个sql语句,执行到一半的时候Ctrl+C,这个时候数据库是一个什么样的状态?
事务
MySQL执行查询的过程?
MySQL执行更新的过程
redo log 的写入策略
3种状态
什么时候会写入
redo log
三种格式
redo log 和 binlog 是怎么关联起来的?
双一
工作原理
binlog可以简化掉吗?
和 redo log区别
bin log
日志
执行流程
为什么要加锁
概览
表锁
MDL
全局锁、表级别锁(表锁、元数据锁(MDL))?
表锁 行锁 都有这些锁
next-key lock?
间隙锁?
行锁算法
行锁是怎么实现的
行锁
数据库粒度锁
共享锁 排他锁 意向锁
意向锁有什么用?
几种典型语句的加(释放)锁DML流程
数据库管理锁
什么是死锁?如何避免?如何检测死锁?
死锁
两阶段锁
数据库加锁规则
锁
整体
索引部分
记录部分
文件头和文件尾
页结构
页分类
数据页\t
表/数据页
Mvcc使用到回滚段,如果一个事务存在,那回滚日志就不能删除,所以就会特别大,MySQL使用了什么优化策略吗?
MVCC
什么条件下可以使用 change buffer 呢
是什么?
change buffer
子主题 1
整体结构图
数据页加载的三种方式
BufferPool
刷脏页的控制策略
什么时候会刷脏页
怎么做的?
checkPoint 刷脏页
WAL机制
多事务情况下的问题
针对通过在两阶段提交中加锁控制事务提交顺序这种实现方式遇到的性能瓶颈问题,有没有更好的解决方案呢?
组提交
数据恢复流程
怎么进行数据恢复
数据库崩溃恢复,是从 redo log 更新过来的还是从 buffer pool 更新过来的呢?
数据恢复
crash safe怎么保证的?
全表扫描对 server 层的影响
LRU原理
关键机制
0 条评论
下一页