MySQL 八股笔记

MySQL 相关八股

1.InnoDB 和 MyISAM 的区别

对于事务 InnoDB 提供支持 MyISAM 不支持事务,InnoDB 支持外键,MyISAM 不支持外键,InnoDB 支持行级锁,MyISAM 只支持表级锁,InnoDB 支持事务的四个特性 MyISAM 不支持 acid 特性,InnoDB 使用聚簇索引,MyISAM 使用非聚簇索引,索引和数据分离。

2.使用 b+树而非红黑树或者 b 树的原因是什么

b+树是多路平衡,而红黑树是二路平衡的,路更少的话树的高度就会更高,需要的磁盘 IO 也会更多,除此之外 b+树支持顺序查找,叶子节点之间按照有序的 key 排列并且叶子节点间用双向指针链接起来,红黑树对于范围查找没有这种支持机制。

3.aid 特性分别怎么实现

原子性通过 undolog 实现,通过记录旧值或者反向操作事务失败回滚,隔离性通过 MVCC 实现,每个记录保存多个版本的数据,持久性通过 Redolog 实现,可以和 binlog 结合起来两阶段写,掉电可以通过 Redolog 恢复。

4.索引失效的五个场景

使用函数、发生隐式类型转换、对索引列计算、like 通配符开头%以及联合索引不符合最左匹配原则

红黑树这个之前只记了为什么不是 b 和为什么不是哈希,这个比较少见。

相关推荐
蒸蒸yyyyzwd1 天前
秋招学习笔记 day109
笔记·八股
蒸蒸yyyyzwd5 天前
后端学习笔记三个知识
笔记·八股
蒸蒸yyyyzwd5 天前
学习笔记 复盘
笔记·八股
香蕉大香蕉(06敬畏市场)6 天前
MySQL 单点详解(09)
java·数据库·mysql·面试·八股·大厂实习
香蕉大香蕉(06敬畏市场)7 天前
MySQL 单点详解(07)
java·数据库·mysql·ai·博客·八股
香蕉大香蕉(06敬畏市场)7 天前
MySQL 单点详解(08)
java·数据库·mysql·面试·八股
香蕉大香蕉(06敬畏市场)8 天前
MySQL 单点详解(03)
java·数据库·mysql·面试·八股·大厂实习
蒸蒸yyyyzwd8 天前
学习笔记day92
笔记·八股
香蕉大香蕉(06敬畏市场)10 天前
高频八股 · JVM(8)
java·jvm·面试·八股·大厂实习
蒸蒸yyyyzwd11 天前
kafka、redis、mysql不熟悉问题总结
笔记·八股