SQL Server 2005的分区

SQL Server 2005是微软在推出SQL Server 2000后时隔五年推出的一个数据库.相对于SQL Server2000来说有了质的提高。它给我们提供了诸多新特性,例如:复制、分区、动态管理视图、CTE、性能顾问等等。

在微软TechNet上是这样介绍分区表和分区索引的:

Instruction 已分区表和已分区索引的数据划分为分布于一个数据库中多个文件组的单元。数据是按水平方式分区的,因此多组行映射到单个的分区。对数据进行查询或更新时,表或索引将被视为单个逻辑实体。单个索引或表的所有分区都必须位于同一个数据库中。

已分区表和已分区索引支持与设计和查询标准表和索引相关的所有属性和功能,包括约束、默认值、标识和时间戳值以及触发器。因此,如果要实现位于服务器本地的已分区视图,则可能需要改为实现已分区表。

决定是否实现分区主要取决于表当前的大小或将来的大小、如何使用表以及对表执行用户查询和维护操作的完善程度。

通常,如果某个大型表同时满足下列两个条件,则可能适于进行分区:

该表包含(或将包含)以多种不同方式使用的大量数据。

不能按预期对表执行查询或更新,或维护开销超过了预定义的维护期。

例如,如果对当前月份的数据主要执行 INSERT、UPDATE 和 DELETE 操作,而对以前月份的数据主要执行 SELECT 查询,则如果按月份对表进行分区,表的管理可能要容易些。如果对表的常规维护操作只针对一个数据子集,那么此优点尤为明显。如果该表没有分区,那么就需要对整个数据集执行这些操作,这样就会消耗大量资源。例如,通过分区,可以针对具有只写数据的单个月份执行类似索引重新生成和碎片整理的维护操作,而只读数据仍可用于联机访问。 正如上面的描述,分区为可以将对数据的操作压力分散到各个分区文件组中,应用程序每次访问的数据只是在某个数据分区上,这样可以相应的提高数据库的性能。

找个了数据量在200W左右的表,这个表是一个账本类型的表,可以以时间日期作为分区依据列,将200W数据依据月份分配到12个分区上。然后执行业务存储过程进行测试:

SP exec proc_partitiontest @HCompany=N’0002’,@HOrg=N’00000000000000000223’,
@FiscalYear=N’2008’,@FiscalPeriod=N’01’,
@HWareHouseID=N’’,@SpeStock=N’’,@ofObject=N’’ ,......

执行结果比较:

分区前:执行时间52s ,IO cost:

Table 'PartitionAccount'. Scan count 2, logical reads 1735, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

分区后:执行时间47s ,IO cost:

Table 'PartitionAccount'. Scan count 2, logical reads 76, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

对性能提高很一般,是数据量较少的原因么?还是查询应用分区键不太合理?因为一些原因,这个sp的具体写法不能贴出,请各位朋友谅解。在这里,请朋友们谈谈分区的关键,谢谢。

时间: 2024-11-08 18:55:11

SQL Server 2005的分区的相关文章

SQL Server 2005中处理表分区问题

本文介绍了表分区的概念以及SQL Server 2005支持表分区,允许所有的表分区都保存在同一台服务器上.每一个表分区都和在某个文件组(filegroup)中的单个文件关联.同样的一个文件/文件组可以容纳多个分区表.同时,还通过一个简单的例子来了解表分区是如何发挥作用的. 数据库性能调优是每一个优秀SQL Server管理员最终的责任.虽然保证数据的安全和可用性是我们的最高的目标,但是假如数据库应用程序无法满足用户的要求,那么DBA们会因为性能低下的设计和实现而受到指责.SQL Server

实验三:SQL server 2005基于已存在的表创建分区

如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2009/11/07/4783702.aspx         随着当今数据库的容量越来越快的朝着在大型数据库或超大型数据库的发展,对于数据库中的大型表以及具有各种访问模式的表的可伸缩性和可管理性运行环境变得尤为重要,SQL server从SQL server 7.0的分区视图到SQL server 2000中的分区视图中到SQL server 2005所使用的分区表,不断改善大型表所面临的

SQL server 2005的表分区_数据库其它

下面来说下,在SQL SERVER 2005的表分区里,如何对已经存在的有数据的表进行分区,其实道理和之前在http://www.cnblogs.com/jackyrong/archive/2006/11/13/559354.html说到一样,只不过交换下顺序而已,下面依然用例子说明:   依然在c盘的data2目录下建立4个文件夹,用来做4个文件组,然后建立数据库 use masterIF  EXISTS (SELECT name FROM sys.databases WHERE name =

SQL Server 2005新特性

一.企业级数据管理 在当今的互联世界中,数据和管理数据的系统必须始终为用户可用且能够确保安全,有了SQL Server 2005,组织内的用户和IT专家将从减少应用程序宕机时间.提高可伸缩性及性能.更紧密的安全控制中获益.SQL Server 2005 也包括了很多新的和改进的功能来帮助企业的IT团队更有效率的工作.SQL Server 2005 包括了几个在企业级数据管理中关键的增强: 易管理 可用性 可伸缩性 安全性 1.易管理 SQL Server 2005 能够更为简单的部署.管理和优化

SQL Server 2005常见问题解答

server|解答|问题 Q. SQL Server 2005 产品线主要有几个版本? A. SQL Server 2005 产品家族被重新设计以更好的满足不同客户的需求,它包含以下几个版本:  SQL Server 2005 企业版  是用于企业关键业务应用的完全集成的数据管理和商业智能分析的平台.它是对那些有着复杂的工作负荷,高级的分析需求和严格的高可用需求的公司适合的选择.它的特性包括:无限的伸缩和分区功能,高级数据库镜像功能,完全的在线和并行操作能力,数据库快照功能,包括完全的OLAP和

通过 SQL Server 2005 索引视图提高性能

本文介绍了 SQL Server 2005 Enterprise Edition 中经过改进的索引视图功能.文中对索引视图进行了说明介绍,并讨论了可通过该功能改善性能的一些具体情况 一.索引视图 多年以来,Microsoft SQL Server 一直支持创建称为视图的虚拟表.通常,这些视图的主要作用是: • 提供一种安全机制,将用户限制到一个或多个基表的某个数据子集中. • 提供一种机制,允许开发人员自定义用户通过逻辑方式查看存储在基表中的数据的方式. 通过 SQL Server 2000,S

SQL Server 2005可伸缩性和性能的计划(2)

文件系统存储 对于快照存储的其他选项是使用文件系统存储.这样的设置并不影响SQL压缩设置,因为这些数据存储在文件系统中. 文件系统快照存储也适合远程目录和向外扩展的报表服务部署.当文件系统存储可用时,快照数据被存留到报表服务器的本地文件系统中.这使得报表服务器能够避免到目录上走弯路,以支持会话和报表请求. 你可以控制文件系统的使用,通过改变在RSReportServer 中的WebServiceUseFileShareStorage的值.在config file上,打开文件系统,改变值如下所示:

SQL SERVER 2005数据库镜像(3)

因为Server A无法看见见证服务器Server W或者原先的镜像伙伴Server B,因此必须进入disconnected状态并使数据库不可用. Server B和Server W可以组成quorum.Server B无法看见Server A,因此Server B试图成为主服务器并使其数据库联机.因为Server W也看不到Server A,因此同意了Server B. Server B现在有了quorum,担当起会话的主服务器角色,然后还原其数据库. 如果恢复通信连路,Server A能够

SQL Server 2005新性能简述

因为SQL Server 2000缺乏某些高端性能,所以就被认为是90磅重的小不点儿.其实,没有哪个强者能够完成每一项壮举,也没有哪家公司需要每一项高端特性.多年来,许多大大小小的企业一直都在使用SQL Server来运行其公司业务.而经过全面修改的微软SQL Server 2005又带来了许多强大的新功能和一批新工具,SQL Server正在变得强大起来. 不可否认,说到真正的企业特性,尤其是在高可用性和灾难恢复方面,SQL Server总是比不上Oracle数据库.Oracle凭借联机重建索