一、为什么要使用索引
- 全表扫描:在数据量大的时候,执行效率很慢。(数据量小比较快)
- 索引:只要将关键信息组织起来,根据这些信息的指引,就可以快速查询到我们想要的页面,因此通过索引可以大幅度提升我们查询的速度。
二、什么样的信息能成为索引
- 主键
- 唯一键
- 普通键 都可以
三、索引的数据结构
- 二叉查找树
- B-Tree
- B+-Tree
- Hash结构
四、密集索引和稀疏索引的区别
- 密集索引:文件中的每个搜索码值都对应一个索引值
(可以理解为:叶子节点保存的不仅仅是键值,还保存了位于同一行记录里的其他列的信息) - 稀疏索引:文件中只为索引码的某些值建立索引项
(叶子节点仅保存了键位信息,以及该行数据的地址)
额外的知识: