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 和为什么不是哈希,这个比较少见。

相关推荐
蒸蒸yyyyzwd2 天前
cpp 八股复习
八股
蒸蒸yyyyzwd3 天前
C++ 八股学习笔记。
八股
蒸蒸yyyyzwd6 天前
秋招学习笔记 Day 64 之准备系统软件开发工程师岗位笔记
c++·八股
蒸蒸yyyyzwd8 天前
秋招学习笔记 day62
八股
蒸蒸yyyyzwd9 天前
秋招学习笔记 day61
八股
蒸蒸yyyyzwd11 天前
后端学习笔记 day58
c++·八股
蒸蒸yyyyzwd14 天前
秋招学习笔记 day54
八股