1.MySQL索引介绍
1.1 什么是索引
相当于一本书中的目录。帮助我们快速找到需要内容的页码。
索引可以帮我们快速找到所需要行的数据页码。起到优化查询的功能。
1.2 MySQL索引类型
1 Btree索引
2 Rtree索引
3 HASH索引
4 Fulltext全文索引
5 GIS 地理位置索引
2.B+Tree结构
2.1Btree查找算法引入
3. MySQL B+TREE索引构建过程
3.1 聚簇索引BTREE结构(InnoDB独有)
3.1.1 簇
3.2作用
有了聚簇索引之后,将来插入的数据行,在同一个区内,都会按照ID值的顺序,有序在磁盘存储数据。
MySQL InnoDB 表 聚簇索引组织存储数据表。
3.3构建前提
1. 建表时,指定了主键列,MySQL InnoDB 会将主键作为聚簇索引列,比如ID not null primary key
2. 没有指定主键,自动选择唯一键(unique)的列,作为聚簇索引。
3. 以上都没有,生成隐藏聚簇索引
3.4辅助索引BTREE结构
1 使用普通列作为条件构建的索引。需要人为创建。
2 优化非聚簇索引列之外的查询条件的优化。
3.5辅助索引的BTREE构建过程