数据库
- SQL语句及优化
- explain 字段/意思
- order by 如何工作
- 全字段排序 sort_buffer_size(buffer内排序方法/内部?外部?)
- rowid 排序 如何设置 max_length_for_sort_data (buffer里存什么)
- 排序方式比较(谁快,多了一步什么)
- 如何避免buffer内排序?
- 能不能用JOIN?
- 什么情况下能?什么情况下不能?
- JOIN的两种方式(MySQL8.0/之前)
- 前者有何特点,时间复杂度,空间复杂度,选谁为驱动表?
- 后者有何特点,时间复杂度,空间复杂度,选谁为驱动表?
- OLTP和OLAP分别是什么意思,用什么方式?
- 能不能用子查询?
- 什么时候能,什么时候不能
- 如何判定
- 如何优化
- 分页查询优化
- where 替换having
- 索引提示优化
- SQL数据类型
- 有哪些
- 自增ID推荐数据类型?
- 真实场景金融数据推荐数据类型?
- UTF8MB4的优势
- 什么叫多字节字符集,该场景下char和varchar 的区别?其他场景下呢?
- 相比于DATETIME, TIMESTAMP的特点和优势
- 为什么说TIMESTAMP可能是巨坑
- 相比于string,json的特点和优势
- json的使用场景
- 数据库表设计准则
- 自增ID还是UUID?各有什么优势和问题
- 反范式设计
- 执行一条select语句完整过程:
- MySQL 的架构共分为哪两层:?
- 连接器
- 基于什么协议
- 什么时候释放资源
- 查询缓存(已移除)
- 哪个版本移除
- key-value分别存储什么
- 解析器
- ?分析 干了什么
- ?分析 干了什么
- 表或字段不存在是否报错?
- 执行
- 预处理器 干了什么
- 优化器 干了什么
- 执行器 干了什么
- 全表扫描是什么操作,逐个返回还是全部返回
- 索引下推是什么意思,做了什么操作
- MySQL一行数据如何存储
- 数据库存在哪个目录下
- 目录下有哪三种文件
- 表空间的文件结构层级:4级/一行最多多少字节/读写的最小单位/大表的分配空间基本单位(为什么有区别)/B+数的节点信息和MVCC的回滚信息存储在哪一级
- 有哪几种行格式,现在用的哪一种
- compact将一行数据分为哪两个部分
- 前者包括哪些/是否逆序/是否必须
- 后者包括哪些/是否必须
- 索引
- 使用B+树相较于 排序二叉树/自平衡排序二叉树/红黑树/B-树/hash搜索/跳表的优势.
- 索引放在哪里(分部分)
- 索引失效(部分1种/全部6种)
- 堆表和索引组织表(MySQL的性能优势)
- 组合索引:优势:避免额外排序和索引覆盖/选择:索引区分度
- 哪些字段需要索引
- 索引的限制
- 索引的优化方法(4种)
- 事务
- 特性
- 可能出现的问题
- 隔离级别
- MVCC是什么,解决了什么问题
- ReadView有哪几个字段,分别表示什么
- MySQL如何解决幻读,完全解决了吗,为什么
- 除了默认隔离级别,还能怎么改变隔离级别
- MySQL有哪些锁
- 全局锁 如何使用/何时使用/有哪些问题/如何解决
- 表级锁
- 表锁 如何使用/有哪些问题
- MDL 什么意思 有哪几种/如何使用/如何释放
- AUTO-INC 锁 什么意思 mysql做了何种优化/有什么问题/怎么解决
- 意向锁 什么意思/解决了什么问题/互斥规则
- 行级锁
- 谁支持?
- 哪三种?之间有什么关系?
- 插入意向锁 是一种特殊的?
- mysql的锁锁的是什么?
- 释放锁的时机
- 乐观锁实现/CAS是什么
- MySQL锁问题
- 运行时插索引
- 三种log
- 分别解决了什么问题
- undo如何持久化
- buffer pool是什么 读写发生了什么变化
- 都是写入磁盘,为什么需要redo而不是直接bp刷盘
- redo什么时候刷盘 /redo刷盘涉及到几层缓存/写满了怎么办/追上了怎么办/使用哪种引擎/内容
- redo bin的区别(四个)
- bin有几种格式类型/写入方式/什么时候刷盘
- 主从复制 流程/从库越多越好?/几种模型?
- 两阶段提交 解决了什么问题/开启了什么事务,谁是协调者,谁是参与者/存在什么问题
- 组提交有哪几种,分别如何实现
- 分库分表
- 为什么需要分库/分表(分开说明)
- 哪几种切分方式,分别解决了什么问题?每种切分方式分别又有什么方式?
- 引入的问题(三个)/每种切分方式的不同方式又引入什么问题?
- 分表逻辑怎么写/怎么选
- 业务中分库分表是否可行?怎么做?
- 分库分表后的唯一主键问题/有什么问题/解决了吗/还有什么替代方法/有什么优势和问题
- 分布式事务
- 是什么/为什么会发生?
- 有哪些解决方案
- 一个关键概念/什么意思?
- 有哪些开源组件
- 典型的有哪两种协议/分别有什么特点/完全解决了吗
- XA是什么,有哪几种,MySQL怎么实现
- XA和TCC的区别/各自有什么优势和问题/如何实现