WEB开发网
开发学院数据库MSSQL Server 详解SQL Server数据库索引 阅读

详解SQL Server数据库索引

 2008-10-24 10:09:33 来源:WEB开发网   
核心提示: 2. 非聚集索引的叶层是由索引页而不是由数据页组成,下图示意了单个分区中的非聚集索引结构:包含列的索引通过将包含列(称为非键列)添加到索引的叶级,详解SQL Server数据库索引(2),可以扩展非聚集索引的功能,键列存储在非聚集索引的所有级别,而是指向数据页的页,若未指定索引类型,而非键

2. 非聚集索引的叶层是由索引页而不是由数据页组成。

下图示意了单个分区中的非聚集索引结构:

详解SQL Server数据库索引

包含列的索引

通过将包含列(称为非键列)添加到索引的叶级,可以扩展非聚集索引的功能。键列存储在非聚集索引的所有级别,而非键列仅存储在叶级别。

下面举个简单的例子来说明一下聚集索引和非聚集索引的区别:

我们有一本汉语字典,可以把它的正文本身看做是一个聚集索引,它是按照汉字拼音的开头字母排序的,不再需要查找其他目录。当遇到不认识的字时,需要结合“部首目录”和“检字表”, 先找到目录中的结果,然后再翻到您所需要的页码。通过这种方法查到的目录中字的排序并不是真正的正文的排序方法。把这种看做是一个非聚集索引。

另外,请注意每个表只能有一个聚集索引。

--建立UserAddDate非聚集索引

  CREATE NONCLUSTERED INDEX [IX_UserAddDate] ON [ASPNet_zSurvey].[ZS_User]
  (
  [UserAddDate] ASC
  )

非聚集索引 (Unclustered Index) 特点

非聚集索引的页,不是数据,而是指向数据页的页。

若未指定索引类型,则默认为非聚集索引

叶节点页的次序和表的物理存储次序不同

每个表最多可以有249个非聚集索引

在非聚集索引创建之前创建聚集索引(否则会引发索引重建)

二、选择建立哪种索引

1.何时创建聚集索引更能提高性能

Clustered Index会提高大多数table的性能,尤其是当它满足以下条件时:

Tags:详解 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接