福哥答案2020-01-04:
面试官刚开始问我看过mysql源码没,然后问了这个问题。回答B+树,过不了面试官那关。
答案来自《MySQL技术内幕 InnoDB存储引擎 第2版》第四章,时间仓促,答案不一定对,如果有更好的答案,请直接留言评论。
表空间tablespace:所有数据都放在表空间中。
段segment:数据段、索引段、回滚段。
区extent:一个区有64个连续页,一个引擎页为16KB。
页page或者块block:16K。数据页(B-tree Node)、undo页(undo Log Page)、系统页(System Page)、事务数据页(Transaction system Page)、插入缓冲位图页(Insert Buffer Bitmap)、插入缓冲空闲列表页(Insert Buffer Free List)、未压缩的二进制大对象页(Uncompressed BLOB Page)、压缩的二进制大对象页(compressed BLOB Page)。
行row:
Compact格式:
1.变长字段长度列表
2.NULL标志位
3.记录头信息
4.列1~n数据
Redundant格式:
1.字段长度偏移列表
2.记录头信息
3.列1~n数据
***
[MySQL源码分析(4):InnoDB主要数据结构及调用流程](https://blog.csdn.net/zcjrun/article/details/6276175)
[评论](https://user.qzone.qq.com/3182319461/blog/1609714774)