下载吧 - 绿色安全的游戏和软件下载中心

软件下载吧

当前位置:软件下载吧 > 数据库 > MS_SQL > SQL基础:SQL Server中分区表的用法

SQL基础:SQL Server中分区表的用法

时间:2024-02-09 10:40作者:下载吧人气:20

一、分区表简介

分区表是SQL Server2005新引入的概念,这个特性在逻辑上将一个表在物理上分为多个部分。(即它允许将一个表存储在不同的物理磁盘里)。在SQL Server2005之前,分区表实际上是分布式视图,也就是多个表做union操作。

分区表在逻辑上是一个表,而物理上是多个表。在用户的角度,分区表和普通表是一样的,用户角度感觉不出来。    

SQL基础:SQL Server中分区表的用法

而在SQL Server2005之前,由于没有分区的概念,所谓的分区仅仅是分布式视图:

SQL基础:SQL Server中分区表的用法

二、对表分区的理由

表分区这个特性,只有SQL Server企业版或SQL Server开发版才有,理解表分区的概念之前,还得先理解SQL Server中文件和文件组的概念。这篇文章是解释文件和文件组的。

表分区主要用于:

  • 提供性能:这个是大多人数分区的目的,把一个表分部到不同的硬盘或其他存储介质中,会大大提升查询速度。
  • 提高稳定性:当一个分区出了问题,不会影响其他分区,仅仅是当前坏的分区不可用。
  • 便于管理:把一个大表分成若干个小表,则备份和恢复的时候不再需要备份整个表,可以单独备份分区。
  • 存档:将一些不太常用的数据,单独存放。如:将1年前的数据记录分到一个专门的存档服务器存放。

三、分区表的操作步骤

分区表分为三个步骤:

  • 定义分区函数

    定义分区构架

    定义分区表

分区函数,分区构架和分区表的关系如下:分区表依赖于分区构架,分区构架又依赖分区函数。

SQL基础:SQL Server中分区表的用法

因此,定义分区表的顺序基本上是定义分区函数->定义分区构架->定义分区表。
实际操作,先定义一张需要分区的表:

SQL基础:SQL Server中分区表的用法

我们以SalesDate列作为分区列。

第一步、定义分区函数:

分区函数用于判断一行数据属于哪个分区,通过分区函数中设置边界值来使得根据行中特定列的值来确定其分区。

如上面的分区表,可以通过设置SalesDate的值来判定其不同的分区,假如我们定义了SalesDate的两个边界值进行分区,则会生成三个分区,现在设置两个边界值分别为2004-01-01和2007-01-01,则上面的表就可以根据这两个边界值分出三个分区。

SQL基础:SQL Server中分区表的用法

定义分区函数的语法如下:

CREATE PARTITION FUNCTION partition_function_name ( input_parameter_type )
AS RANGE [ LEFT | RIGHT ]
FOR VALUES ( [ boundary_value [ ,…n ] ] )
[ ; ]
标签MSSQL,SQLServer,技术文档,数据库,SQLSERVER

相关下载

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

热门阅览

最新排行

公众号