关于MySQL的一些面试题
# 索引
# 为什么说B+树比B树更合适做索引?
- 单一结点存储更多的关键字,使得查询的IO次数减少;
- 所有查询都要查找到叶子节点,查询性能稳定;
- 所有叶子节点形成有序链表,便于区间查询以及全结点遍历更快。
- 支持范围查询
# 什么是索引覆盖?
索引覆盖就是查询的字段都是索引字段。
实现索引覆盖:将被查询的字段,建立到联合索引里去。
# 事务
# 数据库事务隔离级别及实现?
隔离级别:读未提交,读已提交,可重复读,串行化。
实现:
- 读未提交:不加锁的方式。
- 读已提交:只加记录锁,不加 gap locks 。
- 可重复度:对于唯一索引,只加记录锁。对于其他搜索,gap locks 或者 next-key locks
- 串行化:InnoDB 默默的把所有纯 SELECT 语句都转成了 SELECT ... FOR SHARE
在 GitHub 编辑此页 (opens new window)
上次更新: 2024/02/25, 12:11:11