索引
索引是数据库为了提高查询效率所创造的一个数据结构。
索引在存储方式上分为两种类型:
1.聚簇索引
InnoDB使用的索引类型,它的思想是通过特定的格式将索引信息和数据存储在一起,并且一张表上的所有数据都存在一个文件中。
2.非聚簇索引
MyISam使用的索引类型,它的思想是将索引和数据分开存储。
索引在类别上分为五种类型:
主键索引
数据库默认会对主键施加索引。这个过程是自动的。所以数据库的主键是十分重要的。数据库通过主键索引来获得一行的所有数据。
唯一索引
该索引被施加后,需要保证值不能为空。空值在数据库的结构中是十分打乱布局的。
普通索引
对于常用的数据列施加的索引就是普通索引,普通索引会存储该列信息对应的id通过回表的方式来拿到一行数据
组合索引
2列以上的数据也可以一起作为索引,也就是索引从存储一个数据类型结构变为了一个元组。组合索引遵循最左匹配原则。
全文索引
不是很常用的索引,与大文章的分段业务的功能很像。
索引的结构
原先数据库是通过随机查找数据的,有了索引之后,就可以根据范围查找了。索引和数据的关系一般如下图所示。