一、数据表索引的目的
1.索引就是为表(Table)建立的”目录”
2.索引的目的就是防止全表扫描(Full Scan)
3.索引的存储形式是由存储引擎决定
二、数据表索引分类
- 从存储结构上来划分:BTree索引(B-Tree或B+Tree索引),Hash索引,full-index全文索引,R-Tree索引
- 从应用层次来分:普通索引,唯一索引,复合索引
普通索引允许被索引的数据包含 重复值 - 根据中数据的物理顺序与键值的逻辑(索引)顺序关系:聚集索引,
非聚集索引
三、MySQL常用的索引
B+Tree索引 - 适用于范围查找
Hash索引 - 适用于精确匹配
四、B+Tree索引
MySQL中InnoDB与MyISAM采用的是B+Tree索引
B+Tree索引采用树形链表结构建立数据”目录”
五、InnoDB引擎B+Tree索引
案例模型b+树模型
多索引b+树模型
六、MyISAM引擎B+Tree索引
需要注意的是MyISAM索引对应一个物理地址,而这个物理地址对应数据的存放地址
B+Tree索引
七、扩展知识B-/+Tree的区别
B-不带箭头指向下一个索引,而b+是带链表的
image.png
网友评论