为什么每张表只能建一个聚集索引

如题所述

  因为聚焦索引决定了表的物理排列顺序,一个表只能有一个物理排列顺序,所以一个表只能建一个聚集索引。
  聚集索引是一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。
  聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。
  聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相邻的行,直到到达结束日期。这样有助于提高此类查询的性能。同样,如果对从表中检索的数据进行排序时经常要用到某一列,则可以将该表在该列上聚集(物理排序),避免每次查询该列时都进行排序,从而节省成本。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-06
聚集索引:
该索引中键值的逻辑顺序决定了表中相应行的物理顺序。

如果用新华字典作例子来一个例子的话。
[拼音]就可以看作是聚集索引
例如吖、阿、啊在字典的最前面。
左、作、坐在字典的最后面。
拼音[逻辑顺序]很接近,在字典中页数的位置[物理顺序]也很接近。

非聚集索引:
非聚集索引与聚集索引一样有 B 树结构,但是有两个重大差别:
数据行不按非聚集索引键的顺序排序和存储。
非聚集索引的叶层不包含数据页。
相反,叶节点包含索引行。每个索引行包含非聚集键值以及一个或多个行定位器,
这些行定位器指向有该键值的数据行(如果索引不唯一,则可能是多行)。

如果用新华字典作例子来一个例子的话。
[笔画]就可以看作是非聚集索引
例如化仇仃仅仂这几个字,都是单人旁,笔画数相同的。
笔画[逻辑顺序]很接近,在字典中页数的位置[物理顺序]则在不同的位置上。

看了上面的例子以后, 你想一下。
为什么每张表只能建一个聚集索引

如果一张表, 可以键2个聚集索引的话。

那么 这个 新华字典, 要怎么排版呢?
即按照拼音排序, 又按照部首排序?
第2个回答  2013-01-06
因为聚焦索引决定了表的物理排列顺序,一个表只能有一个物理排列顺序,所以一个表只能建一个聚集索引。本回答被提问者和网友采纳
相似回答