恶补sql知识(一)

索引的定义

 SQL Server的索引值是对数据库中一个或者多个列的值进行排序的结构。

 索引几个特性:

1)索引可以提高数据的访问速度

只有在适当的位置建立索引,就能大幅度提高,实际上,您可以把索引理解为一种特殊目录。微软的SQL SERVER提供了两种索引:聚集索引和非聚集索引。

   其实,我们的汉语字典的正文本身就是一个聚集索引,比如,我们要查"安"字,就会很自然的翻开字典的前几页,因为"安"的拼音是"an",而按照拼音排序汉字的字典是以英文字母"a"开头并以"z"结尾的,那么"安"子就自然的排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明您的字典中没有这个字;同样的,如果查“张”字,那您也会将您的字典翻到最后部分,因为“张”的拼音是“zhang”。也就是说,字典的正文部分本身就是一个目录,您不需要再去查其他目录来找到您需要找的内容。我们把这种正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”。

   如果您认识某个字,您可以快速的从自动中查到这个字。但您也可能会遇到不认识的字,不知道它的发音,这时候,就不能按照刚才的方法来查字,而需要根据"偏旁部首"来查,我们把这种目录纯粹是目录,正文纯粹是正文的排序方式称为“非聚集索引”。

     通过以上例子,我们可以理解到什么是“聚集索引”和“非聚集索引”。进一步引申一下,我们可以很容易的理解:每个表只能有一个聚集索引,因为目录只能按照一种方法进行排序。

原文地址:https://www.cnblogs.com/zhijianliutang/p/2308100.html