Mysql的索引

2020-08-24  本文已影响0人  c_gentle

一、数据表索引的目的

1.索引就是为表(Table)建立的”目录”
2.索引的目的就是防止全表扫描(Full Scan)
3.索引的存储形式是由存储引擎决定

二、数据表索引分类

  1. 从存储结构上来划分:BTree索引(B-Tree或B+Tree索引),Hash索引,full-index全文索引,R-Tree索引
  2. 从应用层次来分:普通索引,唯一索引,复合索引
    普通索引允许被索引的数据包含 重复值
  3. 根据中数据的物理顺序与键值的逻辑(索引)顺序关系:聚集索引,
    非聚集索引

三、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
上一篇 下一篇

猜你喜欢

热点阅读