一、MySQL常用的索引类型
1.1主键索引
primary key
1.2唯一索引
unique
1.3普通索引
index
1.4全文索引
1.5组合索引
二、MySQL常用的数据结构
2.1B-tree
2.2哈希索引
三、索引的设计原则
3.1选择唯一性索引
被设为唯一性的值可以设置为索引,这样能快速定位到某条记录
3.2为经常需要排序、分组和联合操作的字段建立索引
经常需要order by,group by,distinct,union操作的字段可以设置为索引,因为排序需要很多时间
3.3为常作为查询条件的字段建立索引
查询需要消耗很多时间,所以可以将需要经常查询的字段作为索引
3.4限制索引的数目
不是索引的数目越多越好,建立索引会占用磁盘空间,并且当数据更新时,除了跟新数据库中,还要跟新索引中的数据,这样使更新操作变的复杂,需要大量的时间
3.5尽量使用前缀来索引
如果索引字段比较长,尽量使用前缀来索引,比如TEXT和BLOG类型,只需前缀就可定位到对应字段,如果使用全文索引会浪费很多时间
3.6尽量使用数据量少的索引
如果所以的值很长,那么索引的速度也会降低
3.7删除不再使用或者很少使用的索引
索引的存在会将表的更新操作变的繁琐,并且占用磁盘空间,应定期检查不需要的索引,并将其删除