前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >2020-01-04:mysql里的innodb引擎的数据结构,你有看过吗?

2020-01-04:mysql里的innodb引擎的数据结构,你有看过吗?

原创
作者头像
福大大架构师每日一题
修改2021-01-05 10:23:32
修改2021-01-05 10:23:32
7870
举报

福哥答案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主要数据结构及调用流程

评论

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档