1,基础的数据结构-B+tree
2,Innodb的页---逻辑
3,Innodb的索引---数据结构 主键索引(按照主键建立结构)
局部性原理,设置操作系统中页的原因,假设两次指令从磁盘IO的数据相邻的概率很大,
指令1----1kb
指令2----2kb 磁盘基础1页---4kb 为了减少磁盘IO的次数。
mysql -pageszie -16kb--4页;一次性拿到内存的大小,减少了磁盘IO ,是存储的基本单位。
image.png按照主键排序。节点间有指针。
解决方案:
费时的存储是为了快速的查找。
链表本身的缺点是查询慢(极端情况下,长链表)
目录为了分组(前10条,后10条。。。。)--->>数组组成 (二分查找)
image.png
新建一页
image.png
跨页查询--接着向上用空间换时间。其实就是B+tree.
image.png主键索引。 creat index,,一般是主键
B+tree 查询方式-----索引,全表扫描。
普通索引;联合索引(creat index idex on t1(b,c,d))---重新建立一个索引。(存的bcd+主键)
image.png
最左比较原则。(必须包含前缀 )
注:内容来源于bilibili
网友评论