SQLServer群集与非群集索引设计指南.pdf
文本预览下载声明
SQL Server 群集与非群集
索引设计指南
SQL Server 的群集索引与非群集索引设计指南
针对 SQL Server 中的索引设计我们将分成群集索引与非群集索引两个部分分别介绍,
分析如何通过索引的设计来提升性能和优化查询。并且在本技术专题中,我们还讲解了如
何维护 SQL Server 索引以实现优化查询。
SQL Server 的群集索引设计
SQL Server 中群集索引设计对 SQL Server 数据库系统性能和未来的维护十分重要。
在本文中你将了解到为什么群集索引应该是静态、随着时间推移而增长、了解它们是如何
使用多对多表的。此外,在文中你还会知道在 SQL Server 2005 中分区表概念是怎样影响
群集索引的。
设计 SQL Server 群集索引以提升性能(一)
设计 SQL Server 群集索引以提升性能(二)
SQL Server 的非群集索引设计
非群集索引是书签,它们让 SQL Server 找到我们所查询的数据的访问捷径。非群集
索引是很重要的,因为它们允许我们只查询一个特定子集的数据,而不需要扫描整个表。
对于这个重要主题的探讨,我们首先从了解基础开始,比如,聚簇索引与非聚簇索引如何
互相作用,如何选择域,何时使用复合索引以及统计是如何影响非聚簇索引的。
设计 SQL Server 非群集索引优化查询(上)
设计 SQL Server 非群集索引优化查询(下)
维护 SQL Server 索引以实现查询优化
TT 数据库技术专题之“ SQL Server 群集与非群集索引设计指南” Page 2 of 21
维护 SQL Server 索引是一个不寻常的实践。如果查询不使用索引,那么往往会有一
个新的非群集索引被创建,它只是包含一个不同的或是相同的字段组合。但现在并没有发
布一个关于为什么 SQL Server 会忽略这些索引的详细分析。
如何维护 SQL Server 索引以实现查询优化(一)
如何维护 SQL Server 索引以实现查询优化(二)
TT 数据库技术专题之“ SQL Server 群集与非群集索引设计指南” Page 3 of 21
设计 SQL Server 群集索引以提升性能(一)
SQL Server 的集簇索引是数据库整体架构的一个非常重要的方面。它们经常被忽视、
误解,或者如果数据库很小,它们会被认为是不重要的。
本文阐述了集簇索引对于整个系统性能以及数据库增大时维护的重要性。我将主要说
明 SQL Server 集簇索引是如何存储在硬盘中的,为什么它们应该一直随着时间增加以及
为什么静态的集簇索引是最好的。我同时也将探讨多对多表,为什么它们会被使用,以及
集簇索引如何能够让这些表效率更高。
最后,很重要的是我们会讨论新的 SQL Server 2005 分割表概念,并探讨分割表是如
何影响集簇索引的。这将有助于你以后作为出正确的决定性。
集簇索引默认是与匹配主键相匹配的,而主键是定义在 SQL Server 表上的。然而,
你可以在任何字段上创建一个集簇索引,然后在另一个字段或多个字段上定义一个主键。
这时,这个主键将会作为一个唯一的非集簇索引被创建。典型地,一个集簇索引会与主键
相匹配,但这并不是必须的,所以要仔细考虑。对于各种可能出现的情况,我将讨论集簇
索引本身,而不管你是否选择将它与主键相匹配。
集簇索引实际上装载了 SQL Server 的数据记录行,所以你的集簇索引存储的地方就
是你的数据存储的地方。集簇索引是按数据范围而组织的。比如,1 到 10 之间的值存储为
一个范围,而 90 到 110 是另一个范围。因为集簇索引是按范围存储的,如果你需要在一
个范围中搜索一个审计日志,使用基于日期字段的集簇索引效率会更高,其中日期字段会
用于返回日期
显示全部