Chapter 7
SQL Server2005的索引键字段数量限制是16个,总共900个字段大小,和以前的版本一样。
在声明主键或者唯一性约束时,在表的一个或多个字段上会创建一个唯一性索引(唯一,非聚集索引),就好像使用了CREATE INDEX命令一样。这些被创建出来以支持约束的索引名称与约束的名称相同。就索引的内部存储及其维护而言,使用CREATE INDEX命令创建的唯一性索引与用来支持约束而自动生成的索引之间没有区别。
使用CREATE INDEX 命令创建的索引和支持约束所创建的索引之间最大的区别大于:如何删除这个索引。DROP INDEX命令只允许用户删除那些通过CREATE INDEX命令所创建的索引。另外,要删除由外键约束引用着的主键或唯一性约束的话,必须先删除外键约束。
(第6章)空间分配的查询:可以呈现每张表或索引的每一个分区所使用的分页数量,每种类型的存储都有一个单独的行对应(in-row、row-overflow或LOB)。
聚集索引
非聚集索引
1、每张表能够包含最多249个非聚集索引。
2、通常情况下,当开发者删除一个聚集索引时,SQL Server必须重建每个非聚集索引以便将其书签从聚集索引键改为RID。(CREATE INDEX命令的DROP_EXISTING选项使得重建聚集索引时不必重建非聚集索引两次。)
3、STATISTICS_NORECOMPUTE选项决定了是否需要自动更新索引上的统计(statistics)。第个索引维护着一张代表该索引首位字段(leading column)的数值分布的柱状图。在确定查询的执行计划时,SQL Server的查询优化器利用这些统计信息来判断一个特定索引的有效性。当数据被修改时,统计值会变得过时,而如果统计不被更新的话,将产生非最优的查询计划。【根据个人开发经验,在很多客户的由于性能导致的超时问题中,通过更新一下统计信息,可解决问题。】