http://technet.microsoft.com/zh-cn/library/ms177484.aspx
大家看一下这个连接,是讲非聚集索引的,可是我看不太懂,我想问那个图中根节点图中的索引行放的是什么,指向叶节点的索引行又是什么,最后一段怎么数据行中会是聚集索引,我对聚集索引和非聚集索引的具体在存储的形态不了解,有谁可以帮我解释一下
还有这样创建后,比如一个CODE,我创建为非聚集索引,他查询时,怎么查询的,怎么会提高速度!
大家看一下这个连接,是讲非聚集索引的,可是我看不太懂,我想问那个图中根节点图中的索引行放的是什么,指向叶节点的索引行又是什么,最后一段怎么数据行中会是聚集索引,我对聚集索引和非聚集索引的具体在存储的形态不了解,有谁可以帮我解释一下
还有这样创建后,比如一个CODE,我创建为非聚集索引,他查询时,怎么查询的,怎么会提高速度!
说的简单点就是 比如一个表有2个字段 CODE跟DATE ,在SQL7.0体系中,对索引加如了如果存在聚集索引就按照聚集索引的键值来搜索,不按照物理指针来搜索,那么CODE是非聚集索引,DATE是聚集索引,现在查询CODE=7的行,那么他是怎么利用这个非聚集索引的呢,在那个图里的索引行到底是怎么去连接找到他的数据行的!
有些书籍包含多个索引。例如,一本介绍园艺的书可能会包含一个植物通俗名称索引,和一个植物学名索引,因为这是读者查找信息的两种最常用的方法。对于非聚集索引也是如此。可以为在表中查找数据时常用的每个列创建一个非聚集索引。注意事项
在创建非聚集索引之前,应先了解您的数据是如何被访问的。可考虑将非聚集索引用于: 包含大量非重复值的列,如姓氏和名字的组合(如果聚集索引用于其它列)。如果只有很少的非重复值,如只有 1 和 0,则大多数查询将不使用索引,因为此时表扫描通常更有效。
不返回大型结果集的查询。
返回精确匹配的查询的搜索条件(WHERE 子句)中经常使用的列。
经常需要联接和分组的决策支持系统应用程序。应在联接和分组操作中使用的列上创建多个非聚集索引,在任何外键列上创建一个聚集索引。
在特定的查询中覆盖一个表中的所有列。这将完全消除对表或聚集索引的访问。
那么在SQL7.0体系中,如果有聚集索引,他会根据聚集索引的键值去搜索,这个怎么理解?
再问一个哦,就是那个图,第一个根节点中的索引键放的是什么,然后叶节点中的索引键又是存放着什么,为什么要分3层呢,不直接分2层!
比如一个CODE,我创建为非聚集索引,他查询时,怎么查询的,怎么会提高速度!---用不用得上,还要看你的SQL语句