图
3
:按存储位置对齐的表
SQL Server
允许根据范围进行分区,还允许将表和索引都设计为使用相同的架构,以便更好地对齐。好的设计可以大大提高整
体性能,但是,如果数据的使用随着时间而发生变化,该怎么办?如果需要额外的分区,又该怎么办?简化从分区表外部添加分
区、删除分区和管理分区等方面的管理工作是
SQL Server 2005
的主要设计目标。
SQL Server 2005
已经考虑了如何简化分区的管理、开发和使用。它在性能和可管理性方面有以下优点:
简化了需要进行分区以改善性能或可管理性的大型表的设计和实现。
将数据加载到现有分区表的新分区中时,最大程度地减少了对其他分区中的数据访问的影响。
将数据加载到现有分区表的新分区中时,性能相当于将同样的数据加载到新的空表中。
在存档和
/
或删除分区表的一个分区时,最大程度地减少了对表中其他分区的访问的影响。
允许通过将分区移入和移出分区表来维护分区。
提供了更好的伸缩性和并行性,可以对多个相关表执行大量操作。
改善了所有分区的性能。
缩短了查询优化时间,因为不需要单独优化每个分区。
返回页首
定义和术语
要在
SQL Server 2005
中实现分区,必须了解一些新的概念、术语和语法。要理解这些新概念,首先我们看一下与创建和放置
操作有关的表结构。在以前的版本中,表通常是一个物理和逻辑概念,但使用
SQL Server 2005
分区表和索引,您在存储表的
方式和位置方面就有了多种选择。在
SQL Server 2005
中,可以使用以前版本中的相同语法创建表和索引,作为一个表结构放
置到
DEFAULT
文件组或用户定义的文件组中。另外,在
SQL Server 2005
中,还可以根据分区架构创建表和索引。分区架构
可以将对象映射到一个或多个文件组。为了确定数据的相应物理位置,分区架构将使用了分区函数。分区函数定义了用来定向行
的算法,而架构则将分区与其相应的物理位置(即文件组)相关联。换句话说,表仍然是一个逻辑概念,但与以前的版本相比,
表在磁盘上的物理位置有了很大的不同;表还可以拥有架构。
范围分区
范围分区
是按照特定和可定制的数据范围定义的表分区。范围分区的边界由开发人员选择,还可以随着数据使用模式的变化而变
化。通常,这些范围是根据日期或排序后的数据组进行划分的。