sql2005分区表示例

SQL2005分区表可以在一定程度上解决海量数据的性能问题,比如可以规避高访问量数据区段的io竞争,可以缩小你查询数据范围的索引大小。 msdn参考

http://msdn.microsoft.com/zh-cn/library/ms345146.aspx 一个完整的脚本示例

--drop database dbPartitionTest
--测试数据库
create database dbPartitionTest
go
use
dbPartitionTest
go
--增加分组
alter database dbPartitionTest ADD FILEGROUP P200801
alter database dbPartitionTest ADD FILEGROUP P200802
alter database dbPartitionTest ADD FILEGROUP P200803
go
--分区函数
CREATE PARTITION FUNCTION part_Year(datetime)
AS RANGE LEFT FOR VALUES
(
'20080131 23:59:59.997','20080229 23:59:59.997','20080331 23:59:59.997'
)
go
--增加文件组
ALTER DATABASE dbPartitionTest ADD FILE (NAME = N'P200801',FILENAME = N'c:\tb_P200801.ndf',SIZE = 1MB,MAXSIZE = 500MB,FILEGROWTH = 1MB)TO FILEGROUP P200801
ALTER DATABASE dbPartitionTest ADD FILE (NAME = N'P200802',FILENAME = N'c:\tb_P200802.ndf',SIZE = 1MB,MAXSIZE = 500MB,FILEGROWTH = 1MB)TO FILEGROUP P200802
ALTER DATABASE dbPartitionTest ADD FILE (NAME = N'P200803',FILENAME = N'c:\tb_P200803.ndf',SIZE = 1MB,MAXSIZE = 500MB,FILEGROWTH = 1MB)TO FILEGROUP P200803
go
--分区架构
CREATE PARTITION SCHEME part_YearScheme AS PARTITION part_Year TO (P200801,P200802,P200803,[PRIMARY])
go
CREATE TABLE [dbo].t_part
(name varchar(100) default newid(),date datetime NOT NULL)
ON part_YearScheme (date)
go
--添加测试数据,每天1条
declare @date datetime
set @date='2007-12-31'
while @date<='2008-04-01'
begin
insert into t_part(date)values(@date)
set @date=@date+1
end
go
--查询数据分布在哪些分区
select $partition.part_Year(date) as 分区编号,* from t_part order by date
--查询数据库文件
go
sp_helpfile

时间: 2024-11-03 08:50:57

sql2005分区表示例的相关文章

【三思笔记】 全面学习Oracle分区表及分区索引

[三思笔记]全面学习Oracle分区表及分区索引 2008-04-15 关于分区表和分区索引(About PartitionedTables and Indexes) 对于 10gR2 而言,基本上可以分成几类: v  Range(范围)分区 v  Hash(哈希)分区 v  List(列表)分区 v  以及组合分区:Range-Hash,Range-List. 对于表而言(常规意义上的堆组织表),上述分区形式都可以应用(甚至可以对某个分区指定 compress 属性),只不过分区依赖列不能是

解析SQL Server 2005 溢用之:合并列值

很多人可能发现,无论是在sql 2000, 还是在 sql 2005 中,都没有提供字符串的聚合函数, 所以, 当我们在处理下列要求时,会比较麻烦, 但在 SQL Server 2005中, 这种情况得到了改善, 我们可以轻松地完成这项处理. 问题描述:无论是在sql 2000, 还是在 sql 2005 中,都没有提供字符串的聚合函数, 所以, 当我们在处理下列要求时,会比较麻烦:有表tb, 如下:id value----- ------1 aa1 bb2 aaa2 bbb2 ccc需要得到结

【交流】SQL 2005溢用之:合并列值

问题描述: 无论是在sql 2000, 还是在 sql 2005 中,都没有提供字符串的聚合函数, 所以, 当我们在处理下列要求时,会比较麻烦:   有表tb, 如下: id    value ----- ------ 1     aa 1     bb 2     aaa 2     bbb 2     ccc   需要得到结果: id     values ------ ----------- 1      aa,bb 2      aaa,bbb,ccc   即, group by id,

sql2005 存储过程分页示例代码_MsSql

复制代码 代码如下: --分页存储过程示例 Alter PROCEDURE [dbo].[JH_PageDemo] @pageSize int = 9000000000, @pageIndex int = 1 , @orderBy Nvarchar(200) = '' -- 不加order By AS SET NOCOUNT ON --声明变量 DECLARE @select VARCHAR(3048); DECLARE @from VARCHAR(512); DECLARE @RowNumbe

sql2005 存储过程分页示例代码

复制代码 代码如下: --分页存储过程示例 Alter PROCEDURE [dbo].[JH_PageDemo] @pageSize int = 9000000000, @pageIndex int = 1 , @orderBy Nvarchar(200) = '' -- 不加order By AS SET NOCOUNT ON --声明变量 DECLARE @select VARCHAR(3048); DECLARE @from VARCHAR(512); DECLARE @RowNumbe

《unix设备驱动》块设备驱动程序(加示例代码)

块设备驱动程序 一个块设备驱动程序主要通过传输固定大小的随机数据来访问设备. 块驱动程序是在核心内存和其他存储介质之间的管道,因此他们可以认为是虚拟内存子系统的组成部分.   一些概念 一个数据块指的是固定大小的数据,而大小的值有内核决定  与数据块对应的是扇区,它是由底层硬件决定大小的一个块.  无论何时内核向用户提供一个扇区编号,该扇区的大小就是512字节. 注册 注册的目的:使内核知道设备的存在 注册块设备驱动程序 注册到内核 int register_blkdev(unsigned in

SQL Server 2005 中的分区表和索引

本文示例源代码或素材下载 摘要:SQL Server 2005 中基于表的分区功能为简化分区表的创建和维护过程提供了灵活性和更好的性能.追溯从逻辑分区表和手动分区表的功能到最新分区功能的发展历程,探索为什么.何时以及如何使用 SQL Server 2005 设计.实现和维护分区表. 为什么要进行分区? 什么是分区?为什么要使用分区?简单的回答是:为了改善大型表以及具有各种访问模式的表的可伸缩性和可管理性.通常,创建表是为了存储某种实体(例如客户或销售)的信息,并且每个表只具有描述该实体的属性.一

了解SQL2005中的SMO对象使用(-)

sql2005|对象 1.简介:  在这系列文章中,我将示范如何使用SMO(SQL Management Objects)来实现多种通用的数据库管理任务,比如:备份.恢复.索引处理.完整性检查等  在此文中我们将集中如何编译一个SMO应用程序和如何使用SMO连接到SQL SERVER并获得一些服务器信息,示例代码将分别使用VB.NET.C#和VBSCRIPT.如果你没有使用Visual Studio 2005,我将介绍如何用命令行进行编译操作  2.编译一个SMO应用程序:  要使用SMO对象在

Sql2005如何用dtexec运行ssis(DTS)包

sql2005 dtexec运行ssis的方式一 首先在Business Intelligence中设计好包,并调试通过二   选用dtexec工具运行包(一)  打开 xp_cmdshell 选项  SQL Server 2005 中引入的 xp_cmdshell 选项是服务器配置选项,使系统管理员能够控制是否可以在系统上执行 xp_cmdshell 扩展存储过程.默认情况下,xp_cmdshell 选项在新安装的软件上处于禁用状态,但是可以通过使用外围应用配置器工具或运行 sp_config