MySQL
一起学习数据库MySQL
彩虹海ing
这个作者很懒,什么都没留下…
展开
-
2020-10-29
InnoDB索引 上一篇博客链接: 一、为什么需要索引? 按照上一篇Compact行格式下的记录,当需要访问用户记录时,我们会从第一个数据页开始访问(页内二分查找确定槽,再遍历槽内记录),之后发现没有找到,继续访问下一个数据页直到最后的数据页,太慢了。因此诞生了索引(就像字典目录),加快查找速度 二、提出一个简单的索引方案: 1、上面提到的可能会遍历所有数据页根本原因在于:虽然页内记录有序(next_record指针形成单链表),但是页间记录无序(例如数据页1的记录为5、6、7;数据页2记录为1、2、3)。原创 2020-10-29 15:40:46 · 118 阅读 · 0 评论 -
2020-10-28
InnoDB引擎如何存储记录 一、InnoDB数据页: InnoDB引擎将数据(记录)划分为若干个页,以页作为磁盘和内存之间交互的基本单位,一般页大小为16KB(可以手动设置为8KB、32KB等),也就意味着一次IO操作至少读取16KB数据(这样就不用一条条记录的读取了)。下图是InnoDB数据页的结构示意图: 注意1:页新建时User Record是不存在的,只有当插入一条记录后,由Free Space分配空间给它。 注意2:MySQL规定一个页至少有两行记录,每个页都需要136原创 2020-10-28 22:37:08 · 133 阅读 · 0 评论