[转]SqlServer 表分区详细介绍

本文探讨了在 SQL Server 中如何通过分区技术提高大型表的性能和管理性。介绍了分区前需考虑的因素、分区键的选择及文件组的利用。详细说明了分区过程中的三个关键步骤,并解释了分区对 I/O 性能的影响。

分区请三思:

1 虽然分区可以带来众多的好处,但是同时也增加了实现对象的管理费用和复杂性。因此在进行分区之前要首先仔细的考虑以确定是否应为对象进行分区。

2 在确定了为对象进行分区后,下一步就有确定分区键和分区数。要确定分区数据,应先评估您的数据中是否存在逻辑分组和模式。

3 确定是否应使用多个文件分组。为了有助于优化性能和维护,应使用文件组分离数据。文件组是数据库文件的逻辑组合,它可以对数据文件进行管理和分配,以便提高数据库文件的并发访问效率。

为了简化操作,Sqlserver2008中为表分区提供了相关的操作。

操作顺序:

1 先定义文件组

2 指定哪些辅助数据库文件属于这个文件组。

3 将表放入到文件组中

数据库分文件组(指定磁盘):

数据实际上是依附于表来存在的,我们将表放入到文件组中,而文件组是一个逻辑的概念,其实体是辅助数据库文件(ndr), 所以就等于将我们指定的数据库放入到了指定的辅助数据库文件中,然后如果将这些辅助数据库文件放入在不同的磁盘分区中,就可以最终实现有针对性的对相应的数据实现性能的优化。

创建文件组时,定义不同的文件组名称,可以有序的进行下一步表分区的分区映射文件组,如上图(选择数据库,右键查看属性图)。

一个水平区表中有多个分区,每个分区对应一个文件组,这样就产生了很多文件组,因此性能也会有所提升,包括I/O性能提升,因为所有分区可以驻扎在一个不同的磁盘上。另一个好处是可以通过备份文件组单独备份一个分区。此外,SqlServer数据库引擎可以智能判断哪个分区上存放了什么数据。如果不止一个分区被访问,那么可以借助多处理器实现数据检索。这种设计也充分利用了分区表的优势。

1、 提高可伸缩性和管理性:在SqlServer2005中简历分区,改善大型表以及具有各种访问模式的表的可伸缩性和可管理学。

2、提高性能。

3、只有将数据分区到不同的磁盘上,才会有较大的性能提升。因为在运行涉及多表链接查询时,多个磁头可以同时读取数据。

对SqlServer数据表进行分区的过程分为三个步骤:

1、建立分区函数

2、建立分区方案

3、对表格进行分区

步骤如下:

转载于:https://www.cnblogs.com/4kapple/archive/2013/03/29/2989183.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值