问:Cluster Index和Noncluster Index的区别(100分)
问:Cluster   Index和Noncluster   Index的区别,主要是使用上的区别
------解决方案--------------------Cluster Index和Noncluster Index的结构都是平衡树。它们的主要区别是Cluster Index的叶子节点是DATA PAGE而Noncluster Index的叶子节点是数据在DATA PAGE中的指针
------解决方案--------------------Cluster Index使表记录按物理地址排序,唯一(一般被主键占用) 
 Noncluster Index使表记录按逻辑地址排序,多个
------解决方案--------------------聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻
------解决方案--------------------Cluster Index 在表中只能有一个,而Noncluster Index在表中可以有多个, 
 通常下面情况可以考虑设置为Cluster Index : 
 1含数量有限的唯一值的列.  
 2用下列运算符返回一个范围值的查询:BETWEEN、> 、> =、 < 和  <=。  
 3回大结果集的查询。
------解决方案--------------------当索引值唯一时,使用聚集索引查找特定的行也很有效率,定义聚集索引键时使用的列越少越好
------解决方案--------------------可考虑将聚集索引用于:    
 包含大量非重复值的列。     
 使用下列运算符返回一个范围值的查询:BETWEEN、> 、> =、 < 和  <=。     
 被连续访问的列。     
 返回大型结果集的查询。     
 经常被使用联接或 GROUP BY 子句的查询访问的列;一般来说,这些是外键列。对 ORDER BY 或 GROUP BY 子句中指定的列进行索引,可以使 SQL Server 不必对数据进行排序,因为这些行已经排序。这样可以提高查询性能。     
 OLTP 类型的应用程序,这些程序要求进行非常快速的单行查找(一般通过主键)。应在主键上创建聚集索引。  
 聚集索引不适用于:    
 频繁更改的列  
 这将导致整行移动(因为 SQL Server 必须按物理顺序保留行中的数据值)。这一点要特别注意,因为在大数据量事务处理系统中数据是易失的。   
 宽键  
 来自聚集索引的键值由所有非聚集索引作为查找键使用,因此存储在每个非聚集索引的叶条目内。 
------解决方案--------------------每个表中只能创建一个聚集索引,每个表可以创建的非聚集索引最多为 249 个
------解决方案--------------------呵呵。這樣的問題不抄書才怪。。