SQL SERVER 索引(1)——简介

       索引是什么,索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度。 索引包含由表或视图中的一列或多列生成的键。 这些键存储在一个结构(B 树)中,使 SQL Server 可以快速有效地查找与键值关联的行。简单说索引就是一个目录,是为了快速查找数据而建立的一个目录,在查找数据的时候,不用去扫描整张表,而是通过查询目录的形式快速查找数据,所以索引的主要用途也是提高搜索效率。

       大家常用的一个例子就是字典,在我们查找字的时候可以通过拼音或者偏旁部首查找,而不是自己去翻看整本字典来查询我们想要找的字,那样效率太慢,而根据目录记录的数据位置,直接找到该数据显示效率是要高很多的。

       索引分为聚集索引和非聚集索引。

       聚集索引:

       字典中的拼音目录。聚集索引的顺序和数据表中数据存储的顺序是一样的,拼音是从a到z,字典中字的顺序也是从a开头的字开始,到z字结束,聚集索引在物理是连续的,一般表中的主键都是聚集索引,而且一张表只能有一个聚集索引。

       非聚集索引:

       字典中偏旁部首目录。在物理存储上不是连续的,和数据表中的数据存储数据不一致,类似字典中偏旁部首查法,先找到偏旁部首,然后找到这个字,同一个部首的两个字可能相距很远,比如“你”和“他”,连个都是同样的偏旁部首,但是在表中存储的位置却是相距很远。一张表上可以有多个非聚集索引。

       索引虽然能够提高查询效率,但是在对数据进行增删改的操作时可能需要更长的时间来操作,因为在对数据进行增删改的时候,对索引也要对索引进行维护,增加处理时间,所以适当的使用索引能够提高我们的系统性能,但是滥用索引可能会适得其反,下次为大家介绍一下索引的设计原则。

猜你喜欢

转载自blog.csdn.net/sinat_28984567/article/details/82905934