Day2
# MySQL 三层 B + 树能存多少数据?
具体答案题解很详细,这里只补充下思路及扩展知识点。
# 答题思路
一般这种题,更多的是考察对于 MySQL 存储格式的了解,后续遇到类似的面试题该如何思考?接下来按步骤分析以下。
了解 MySQL 的存储格式及对应的结构(如每页默认大小 16KB,B + 树的结构)
假设数据大小,估算每页可存储数据数量
假设索引键和指针大小,估算单个节点的扇出数量
通过(单页存储数据量 × 单个节点的扇出量 2 )计算总数据量,这里三层就是 2 次方,n 层就是 n-1 次方。
# 扩展知识(了解即可)
# InnoDB 的存储格式
# 页结构
# 引导
more...Day1
2025-01-15🌱上海: ☀️ 🌡️+3°C 🌬️↓19km/h
# MySQL InnoDB 引擎中的聚簇索引和非聚簇索引有什么区别?
# 简要回答(重要)
聚簇索引的 非叶子节点 存储的是 索引值 , 叶子节点 存储的是 完整的数据记录 ,一个表只能有 一个 聚簇索引,一般是表的主键,主要用于范围查询和排序。
非聚簇索引的 非叶子节点 存储的也是 索引值 ,但是 叶子节点 存储的是 数据行的主键 或 对应的索引列 ,一个表可以有 多个 非聚簇索引,非聚簇索引由称为 辅助索引 , 二级索引 等,主要用于 快速定位 要查找的列。
# 补充回答(引导面试官主动提问)
聚簇
more...