1.普通索引
普通索引是用表中普通列构建的索引,没有任何限制,主要用于加速查询。普通索引的任务是加快对数据的访问速度,因此应该只为那些经常出现在查询条件where或者排序条件order by中的数据列创建索引。
2.少数索引
索引列中的值必须是少数的,但是允许为空值。少数索引与主键索引不同,其少数约束的列可以为null且可以存在多个null值。
少数索引的用途是:少数标识数据库表中的每条记录,主要是用来防止数据重复插入。
3.主键索引
主键索引是一种特殊的少数索引,一个表只能有一个主键,不允许有空值。
4.组合索引
在表中的多个字段组合上创建的索引,只有在查询条件中使用了这些字段的左边字段时,索引才会被使用,使用组合索引时需遵循最左前缀原则。
5.全文索引
全文索引主要用来查找文本中的关键字,而不是直接与索引中的值相比较。fulltext索引跟其它索引大不相同,它更像是一个搜索引擎,而不是简单的where语句的参数匹配。
延伸阅读
为什么要创建索引
索引是对数据库表中一列或多列的值进行排序的一种结构。其实现原理是特定字段先执行一次排序,然后每次需要指定数据前,先从索引中查询。以下是创建索引的主要原因:
名列前茅,通过创建少数性索引,可以保证数据库表中每一行数据的少数性。
第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
最新评论