1. 什么是索引?
辅助加速查找的数据
这些数据本质上是真实的数据,因其在存储结构中的特殊性被提出来
其存储格式和普通记录一样
2. 索引的优缺点?
索引的优点
可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
索引的缺点
时间方面:创建索引和维护索引要耗费时间,具体地,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,会降低增/改/删的执行效率;
空间方面:索引需要占物理空间。
2.1 使用索引一定更好吗?
3. 索引类型
3.1 从数据结构角度
1)B+ tree 索引——以 B+ 树形式组织数据
2)Hash 索引——以 哈希表形式组织数据
3)Full-texts 索引(全文索引)——
全文检索的基本原理 - geosmart - 博客园 (cnblogs.com)
【注】
B+ 树更适合做范围查询
Hash 表更适合做等值查询
3.1.1 B- 树 & B+ 树
3.1.2 B+ 树 & 哈希表
3.2 从物理存储角度
1)聚簇索引——一次查询到全部所需数据,主键索引一定是聚簇索引,只有当覆盖索引时,非主键索引也无需回表,是聚簇索引
2)二级索引——需要回表
联合索引
3.3 从索引字段特性角度
1)主键索引
2)唯一索引
3)普通索引
4)前缀索引
4. 索引如何被创建?
5. 索引如何被使用?
6. 创建索引的原则?
7. 使用索引的原则?
7.1 最左前缀匹配原则