`

sql server 2005中的表分区

    博客分类:
  • .NET
阅读更多

SQL SERVER 2005中,终于引入了表分区,就是说,当一个表里的数据很多时,可以将其分拆到
多个的表里,大大提高了性能。下面举例子说明之

比如,在C盘下建立如下几个目录
C:\Data2\Primary
C:\Data2\FG1
C:\Data2\FG2
C:\Data2\FG3
C:\Data2\FG4

其中primary存放的是主数据库文件,其他FG1--FG4存放四个单独的文件组,可以见创立数据库
Data Partition DB2,如下

USE [master]
GO
/****** Object:  Database [Data Partition DB]    Script Date: 10/08/2006 23:09:53 ******/
IF  EXISTS (SELECT name FROM sys.databases WHERE name = N'Data Partition DB2')
DROP DATABASE [Data Partition DB2]
GO
CREATE DATABASE [Data Partition DB2]
ON PRIMARY
(NAME='Data Partition DB Primary FG',
FILENAME=
'C:\Data2\Primary\Data Partition DB Primary FG.mdf',
SIZE=5,
MAXSIZE=500,
FILEGROWTH=1 ),
FILEGROUP [Data Partition DB FG1]
(NAME = 'Data Partition DB FG1',
FILENAME =
'C:\Data2\FG1\Data Partition DB FG1.ndf',
SIZE = 5MB,
MAXSIZE=500,
FILEGROWTH=1 ),
FILEGROUP [Data Partition DB FG2]
(NAME = 'Data Partition DB FG2',
FILENAME =
'C:\Data2\FG2\Data Partition DB FG2.ndf',
SIZE = 5MB,
MAXSIZE=500,
FILEGROWTH=1 ),
FILEGROUP [Data Partition DB FG3]
(NAME = 'Data Partition DB FG3',
FILENAME =
'C:\Data2\FG3\Data Partition DB FG3.ndf',
SIZE = 5MB,
MAXSIZE=500,
FILEGROWTH=1 ),
FILEGROUP [Data Partition DB FG4]
(NAME = 'Data Partition DB FG4',
FILENAME =
'C:\Data2\FG4\Data Partition DB FG4.ndf',
SIZE = 5MB,
MAXSIZE=500,
FILEGROWTH=1 )
接下来,我们创建分区表函数,这其实可以理解为一个规则,说明如何以一个规则来将一个表来划分,如下
 use [Data Partition DB2]
GO
CREATE PARTITION FUNCTION [Data Partition Range](int)
AS RANGE LEFT FOR VALUES (100,200,300)
其中分区函数的名称是Data Partition Range,后面的类型(int)表明接下来用来分区的那个字段的类型是INT类型,
而VALUES (100,200,300)表明,将把表分为4个区了,是从负数到100,100-200,200-300,大于300。
接下来,我们要创建分区架构,即将分区函数应用到我们分好的四个文件组里面去
USE [Data Partition DB2]
go
CREATE PARTITION SCHEME [Data Partition Scheme]
AS PARTITION [Data Partition Range]
TO ([Data Partition DB FG1], [Data Partition DB FG2], [Data Partition DB FG3],[Data Partition DB FG4]);
 
再创建表的结构
USE [Data Partition DB2]

go
CREATE TABLE MyTable
(ID INT NOT NULL, Date DATETIME, Cost money)    
   ON [Data Partition Scheme] (ID);

这里注意,ON [Data Partition Scheme] (ID);表明,划分时以ID的大小作为划分的根据,ON后要跟分区架购的名称

最后,我们可以填充数据了

USE [Data Partition DB2]
go
declare @count int
set @count =-25
while @count <=100
begin
insert into MyTable select @count,getdate(),100.00
set @count=@count+1
end
set @count =101
while @count <=200
begin
insert into MyTable select @count,getdate(),200.00
set @count=@count+1
end
set @count =201
while @count <=300
begin
insert into MyTable select @count,getdate(),300.00
set @count=@count+1
end
set @count =301
while @count <=400
begin
insert into MyTable select @count,getdate(),400.00
set @count=@count+1
end
set @count =401
while @count <=800
begin
insert into MyTable select @count,getdate(),500.00
set @count=@count+1
end


最后,我们可以查询下,插入的这些数据,是否真的被划分到四个不同的文件组里的表分区了,可以这样看
SELECT *, $PARTITION.[Data Partition Range](ID)
 FROM MyTable

分享到:
评论

相关推荐

    SQL Server 2005新特性之表分区的功能

    本文将详细介绍SQL Server 2005中表分区的具体实现方法及其带来的好处。 #### 二、表分区的概念 表分区是指将表中的数据按照一定规则分割并存储在不同的物理位置的技术。这里的“分割”是指将表的数据分成多个部分...

    SQL Server 2005 中的分区表和索引

    在SQL Server 2005中,分区主要分为两种类型:范围分区和列表分区。范围分区依据数据值的范围进行分割,适合于按时间序列或数值区间组织数据的情形,例如,根据日期或订单金额进行分区。列表分区则是基于具体的值...

    sqlServer数据库大表分区方案

    ### SQL Server 大表分区方案详解 #### 一、大表分区条件 在数据库管理过程中,随着业务数据的不断增长,单个表的数据量可能会变得非常庞大,这不仅会导致数据库性能下降,还会影响数据处理效率。为了有效解决这些...

    sqlserver2005表分区

    【SQL Server 2005 表分区】 分区表是SQL Server 2005提供的一种高级数据管理技术,主要用于优化大规模数据表的性能。当你的数据库中存在数据量...在SQL Server 2005中,正确设计和实施分区策略是提升系统性能的关键。

    查看sqlserver表分区数据分布

    在SQL Server中,为了提高大型数据库的管理效率与查询性能,常常会采用表分区技术。通过合理地将一个表的数据分散到多个物理文件或文件组上,可以显著提升数据处理的速度。本文将详细介绍如何查看SQL Server表分区的...

    MS SQL Server分区表、分区索引详解

    通过以上介绍可以看出,MS SQL Server 中的分区表和分区索引技术对于管理和提高大型数据库的性能至关重要。合理设计分区方案可以极大地提高查询效率和系统的可扩展性。通过对分区列、分区数的选择,以及对文件组的...

    SQL Server 2005 中的分区表和索引.doc

    SQL Server 2005 中的分区表和索引 SQL Server 2005 中的分区表和索引是改善大型表和具有各种访问模式的表的可伸缩性和可管理性的重要工具。分区可以将大型表分为更小、更容易管理的部分,提供一定的帮助。创建分区...

    SQLServer2005中的表分区功能和索引

    在SQL Server 2005中,表分区和索引是两种重要的数据库管理技术,它们对于提高查询性能、优化数据存储以及简化大规模数据管理起着关键作用。下面将详细阐述这两种概念及其应用。 1. 表分区(Table Partitioning) ...

    sqlserver 2008创建表分区

    在SQL Server 2008中,创建表分区是一种优化大型数据库性能的技术。它通过将一个大表的数据分成多个逻辑部分,或者称为“分区”,来提高查询效率和管理大规模数据的便捷性。以下是对这个主题的详细解释: 一、表...

    SQLServer2005分区表

    本文旨在深入探讨SQL Server 2005中分区表的基本概念、发展历程、应用场景以及带来的优势。 #### 二、什么是分区表? **分区表**是指将一个物理上很大的表分割成多个较小的、独立的部分,这些部分称为分区。每个...

    sqlserver2005 创建分区表 分区索引 注意事宜 分区索引

    【SQL Server 2005 创建分区表与分区索引详解】 分区表和分区索引是SQL Server 2005为企业级数据管理和性能优化提供的重要特性,尤其适用于处理大量数据的大型表。分区能够将数据划分为独立的、易于管理的块,这有...

    SQLServer创建表分区脚本

    在SQL Server中,表分区是一种优化数据库性能的技术,它允许将大表的数据分布在多个物理存储上,以便于管理和查询。这种技术尤其适用于处理海量数据,因为它可以提高数据的读写速度,减少I/O操作,并简化维护任务。...

    SQLServer2005中的分区表技术精华

    ### SQL Server 2005中的分区表技术精华 #### 一、为什么要进行分区? 分区是一种数据组织方式,主要用于改善大型表以及具有多种访问模式的表的可伸缩性和可管理性。简单来说,分区技术将一个物理上的大型表划分为...

    sqlserver 表分区 详解

    SQL Server 2005及以上版本开始支持表分区功能。 **2. 表分区的原理** 表分区基于一种叫做“分区函数”的机制,这个函数将表的行映射到不同的分区。分区可以按照时间、数量或其他业务关键字段进行。例如,根据日期...

    SQL Server 2005中的分区表

    详细的说明了sql server2005数据库中分区表的工作原理,并详细的介绍了使用方法,特此上传,必备留用。

    SQL Server2005中的表分区功能和索引

    在SQL Server 2005中,表分区是数据库管理员用来优化大型数据仓库或高容量事务处理系统性能的重要工具。这一特性允许将一个大表分解为较小、更易管理的部分,称为“分区”。分区可以显著提升查询性能,因为它使得...

    SQLServer2005中的分区表和索引

    ### SQL Server 2005中的分区表和索引 #### 一、建立分区表 在SQL Server 2005中,分区表是一种高级的数据组织技术,它将大型表分成多个较小的部分(分区),每个部分可以存储在不同的物理位置上。通过这种方式,...

    sqlserver 2005 express X64

    SQL Server 2005 Express Edition 是微软推出的一款轻量级数据库管理系统,特别适用于小型企业和个人开发者。在64位(X64)系统上安装SQL Server 2005 Express,可以充分利用更大的内存和处理器资源,从而提高数据...

    SQLServer2005_BC.zip

    6. **安装指南**:压缩包中的"SQLServer2005_BC_x64.msi"和"SQLServer2005_BC.msi"是安装程序文件,分别对应64位和32位操作系统。安装过程中,用户需要按照向导提示配置安装选项,如选择安装组件、设置服务账户和...

Global site tag (gtag.js) - Google Analytics