01-MYSQL基础优化-索引及执行计划

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构建过程

猜你喜欢

转载自www.cnblogs.com/metoyou/p/12341249.html