Java教程

索引的分类

本文主要是介绍索引的分类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

数据结构划分

hash索引基于哈希表的实现,MySql并没有显示支持hash索引,而是作为内部的一种优化,对于热点的数据会自动生成hash索引。
B+树索引Innodb和Myisam引擎的索引都是通过B+树实现的。

数据与索引的存储关联性划分

聚簇索引

数据和键值是存储在一起的,叶子节点存储的既有索引也有数据。innodb是聚簇索引类型。

非聚簇索引

数据文件和索引文件分开存储,叶子节点存储的是数据的地址。myisam是非聚簇索引的。

索引字段个数划分

单值索引

单个字段组成的索引。

组合索引

多字段组成的索引,用于组合搜索。

是否在主键上

主键索引

根据主键组织数据,每张表必须有主键索引且只能有一个

非主键索引(二级索引)

叶子节点存储主键索引值,通过非主键索引查询数据时,会先查主键索引再查到数据。

其他分类

唯一索引

索引列中的值不能重复,必须唯一,可以为空。

全文索引

主要利用关键字查询文本。

 

这篇关于索引的分类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!