访问数据库表的方式分为顺序访问,即进行全表扫描访问,和索引访问,遍历索引来访问记录行,用于数据库的快速检索。
在物理上可分为
- B-树索引:目前应用的大部分索引
- 哈希索引(Hash,散列):仅memory和heap存储引擎支持这类存储
在用途上分为
- 普通索引:加快访问速度
- 唯一性索引:UNIQUE,不是为了提高访问速度,为了避免数据出现重复
- 主键索引:是一种唯一性索引,primary key
- 空间索引:地理空间数据,geometry
- 全文索引:MyISAM存储引擎的VARCHAR或TEXT类型列创建
在使用上分为
- 单列索引:索引只包含原表的一个列
- 组合索引:(C1,C2,C3)=>(C1)(C1,C2)(C1,C2,C3)
常用规则(主键,外键,查找,搜索,排序的列):
- 在经常需要搜索的列上创建索引,加快搜索的速度
- 在主键的列上创建索引,强制该列的唯一性
- 在经常使用表连接的列上创建索引,主要是外键,加快表连接速度
- 在经常进行范围搜索的列上创建索引
- 在经常进行排序的列上创建索引
- 在经常使用where的列上创建索引