SQL Server表分区操作详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL Server 表分区操作详解
SQL Server 2005 引入的表分区技术,让用户能够把数据分散存放到不同的物理磁盘中,提 高这些磁盘的并行处理性能以优化查询性能……
【IT 专家网独家】你是否在千方百计优化 SQL Server 数据库的性能?如果你 的数据库中含有大量的表格, 把这些表格分区放入独立的文件组可能会让你受益 匪浅。SQL Server 2005 引入的表分区技术,让用户能够把数据分散存放到不同 的物理磁盘中,提高这些磁盘的并行处理性能以优化查询性能。 SQL Server 数据库表分区操作过程由三个步骤组成: 1. 创建分区函数 2. 创建分区架构 3. 对表进行分区 下面将对每个步骤进行详细介绍。 步骤一: 步骤一:创建一个分区函数 此分区函数用于定义你希望 SQL Server 如何对数据进行分区的参数值 ([u]how[/u])。这个操作并不涉及任何表格,只是单纯的定义了一项技术来分割 数据。 我们可以通过指定每个分区的边界条件来定义分区。例如,假定我们有一份 Customers 表,其中包含了关于所有客户的信息,以一一对应的客户编号(从 1 到 1,000,000)来区分。我们将通过以下的分区函数把这个表分为四个大小相同 的分区: CREATE PARTITION FUNCTION customer_partfunc (int) AS RANGE RIGHT FOR VALUES (250000, 500000, 750000) 这些边界值定义了四个分区。第一个分区包括所有值小于 250,000 的数据, 第二个分区包括值在 250,000 到 49,999 之间的数据。第三个分区包括值在 500,000 到 7499,999 之间的数据。所有值大于或等于 750,000 的数据被归入第 四个分区。 请注意,这里调用的"RANGE RIGHT"语句表明每个分区边界值是右界。类似 的,如果使用"RANGE LEFT"语句,则上述第一个分区应该包括所有值小于或等于 250,000 的数据,第二个分区的数据值在 250,001 到 500,000 之间,以此类推。

步骤二:创建一个分区架构 骤二: 一旦给出描述如何分割数据的分区函数,接着就要创建一个分区架构,用来 定义分区位置([u]where[/u])。创建过程非常直截了当,只要 将分区连接到指 定的文件组就行了。例如,如果有四个文件组,组名从"fg1"到"fg4",那么以下 的分区架构就能达到想要的效果: CREATE PARTITION SCHEME customer_partscheme AS PARTITION customer_partfunc TO (fg1, fg2, fg3, fg4) 注意,这里将一个分区函数连接到了该分区架构,但并没有将分区架构连接 到任何数据表。这就是可复用性起作用的地方了。无论有多少数据库表,我们都 可以使用该分区架构(或仅仅是分区函数)。 步骤三: 步骤三:对一个表进行分区 定义好一个分区架构后,就可以着手创建一个分区表了。这是整个分区操作 过程中最简单的一个步骤。只需要在表创建指令中添加一个"ON"语句,用来指定 分区架构以及应用该架构的表列。因为分区架构已经识别了分区函数,所以不需 要再指定分区函数了。 例如, 使用以上的分区架构创建一个客户表, 可以调用以下的 Transact-SQL 指令: CREATE TABLE customers (FirstName nvarchar(40), LastName nvarchar(40) , CustomerNumber int) ON customer_partscheme (CustomerNumber) 关于 SQL Server 的表分区功能,你知道上述的相关知识就足够了。记住! 编写能够用于多个表的一般的分区函数和分区架构就能够大大提高可复用性。









相关文档
最新文档