MySQL索引设计原则

一、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删除不再使用或者很少使用的索引

索引的存在会将表的更新操作变的繁琐,并且占用磁盘空间,应定期检查不需要的索引,并将其删除

原文地址:https://www.cnblogs.com/mercuryji/p/mysql_index.html