索引(Index)
1. 索引的作用
- 如果把数据库看做字典,可以将索引的键看做是字典的拼音,值为该拼音所在的第一个汉字的位置,借助拼音检索可以缩小目标汉字查找范围,避免逐页查找。
- 索引是一种以空间代价提升时间效率的方法。
- 索引一旦创建,将由MySQL自动管理和维护,索引的维护需要消耗计算资源和存储资源,如何设计索引,是提升数据库使用效率的关键。
2. 索引的类型
可以从多种角度对索引进行分类:
3. 索引的设置原则
- 严格限制同一个表或视图上的索引数量。索引增多将会严重影响INSERT、UPDATE和DELETE语句的执行性能。对于表中使用频度较低或者不再使用的索引,需及时删除。
- 对于重复值较多的列,不建议建立索引。
- 对排序、分组或者表连接涉及的字段建立索引,可提升数据检索效率。
- 对视图建立索引将提升使用视图的检索效率。
MySQL索引管理(MySQL Index)
1. 索引的创建
使用CREATE INDEX语句创建索引
- UNIQUE | FULLTEXT | SPATIAL为可选参数,用于指明索引类型。
- ON关键字指明索引针对的表。
- ASC和DESC表明索引的排序方式。
- 当字段名称[(索引字符长度) [ASC | DESC]]只有一项时,将建立单列索引。当字段名称[(索引字符长度) [ASC | DESC]]有多项时,将建立复合索引。