mysql的索引应该分为两方面来理解:
1.存储引擎的索引方式:
1.1聚簇索引:
在《数据库原理》里面,对聚簇索引的解释是:聚簇索引的顺序就是数据的物理存储顺序,因此对于InnoDB来说,由于存储引擎的对于数据的存储方式就是一颗B+树,且是以主键的大小为页和记录的排序规则,叶子节点存储来表中所有的类(所有信息)。因此解释了聚簇索引的顺序就是数据的物理存储顺序。这种索引在应用中叫主键索引,而理所当然随着数据的储存也在同时建立。
2.2二级索引
以自定义的列的大小为页和记录的排序规则,由于与物理储存不是一体的,因此在页子节点除储存的并不是全部信息而是列+主键。一般自己定义的索引都是二级索引。由于需要回表其效率低于聚簇索引。
对于InnoDB来说,其索引有两类一类是聚簇索引,一类是二级索引。
对于MyISAM来说,只有二级索引。
2.mysql使用时的索引类型:
2.1.普通索引
2.2.唯一索引:索引列的值必须唯一
2.3.主键索引:自动创建
2.4.组合索引
2.5.全文索引:对于文本使用,有时配合分词使用