索引知识小结

1.索引是什么

在表的数据量比较大时,查询操作比较耗时,建立索引是加快查询速度的有效手段,类似于图书后面的索引,可快速定位到要查询的内容。在关系数据库中,索引是一种单独的、物理的数对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。

2.索引的类型

可以在数据库设计器中创建四种索引:普通索引、唯一索引、主键索引和聚集索引。

常见的包括:顺序文件上的索引,B+树索引,hash索引,位图索引等。

3.作用

在数据库系统中建立索引主要有以下作用:

1)快速取数据;

2)保证数据记录的唯一性;

3)实现表与表之间的参照完整性;

4)在使用ORDER bygroup by子句进行数据检索时,利用索引可以减少排序和分组的时间。

4.具体内容

唯一索引是不允许其中任何两行具有相同索引值的索引。

主键索引在创建表时会自动创建。

聚集索引表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引, 即如果存在聚集索引,就不能再指定CLUSTERED 关键字,一个表只能有一个聚集索引。

顺序索引:按指定属性值升序或降序存储的关系,在该属性值上建立一个顺序索引文件,索引文件由属性值和相应的元组指针组成。

B+树索引:将索引属性组织成B+树形式,叶节点为属性值和相应的节点指针,有动态平衡的优点。

Hash索引:建立若干个桶,将属性值散列到桶中,查找速度快。

位图索引:位向量记录索引中可能出现的值,每个位向量对应一个可能值。

倒排索引:倒排索引源于实际应用中需要根据属性的值来查找记录(搜索引擎)。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置。

 

发布了47 篇原创文章 · 获赞 8 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/nanchengyu/article/details/52821861