Welcome 微信登录

首页 / 数据库 / MySQL / MS SQL Server 2005 分区表的使用(表分区)

一直以来,都以数据表单表记录数作为标尺,凡是大于100W的则使用Oracle等数据库,小于100W的才考虑使用Microsoft SQLServer.在SQLServer2000的时候为了能够适应100W以上的数据量,很多设计者选择了手动分区表,创建大量表结构相同的表,来存放相同的记录.用视图和触发器来模拟出Oracle中的表分区,是一种伪分区.在SQLServer2005中,分区表出现了,只须三步就能够将数据表实现分区,从而提高单表的操作效率:1. 创建分区函数2. 创建分区架构3. 对表进行分区下面详细介绍下: 友情提示(对于那些只想快速浏览内容的朋友,只须关注蓝色字体的内容即可) 步骤一:创建一个分区函数使用 CREATE PARTITION FUNCTION 是创建已分区表或索引的第一步,语法
 
CREATE PARTITION FUNCTION partition_function_name ( input_parameter_type )AS RANGE [ LEFT | RIGHT ] FOR VALUES ( [ boundary_value [ ,...n ] ] ) [ ; ]
partition_function_name
是分区函数的名称。分区函数名称在数据库内必须唯一,并且符合标识符的规则。
input_parameter_type
是用于分区的列的数据类型。当用作分区列时,除 text、ntext、image、xml、timestamp、varchar(max)、nvarchar(max)、varbinary(max)、别名数据类型或 CLR 用户定义数据类型外,所有数据类型均有效。实际列(也称为分区列)是在 CREATE TABLE 或 CREATE INDEX 语句中指定的。
boundary_value
为使用 partition_function_name 的已分区表或索引的每个分区指定边界值。如果 boundary_value 为空,则分区函数使用 partition_function_name 将整个表或索引映射到单个分区。只能使用 CREATE TABLE 或 CREATE INDEX 语句中指定的一个分区列。boundary_value 是可以引用变量的常量表达式。这包括用户定义类型变量,或函数以及用户定义函数。它不能引用 Transact-SQL 表达式。boundary_value 必须与 input_parameter_type 中提供的数据类型相匹配或者可隐式转换为该数据类型,并且如果该值的大小和小数位数与 input_parameter_type 中相应的值的大小和小数位数不匹配,则在隐式转换过程中该值不能被截断。
...n
指定 boundary_value 提供的值的数目,不能超过 999。所创建的分区数等于 n + 1。不必按顺序列出各值。如果值未按顺序列出,则 Microsoft SQL Server 2005 Database Engine 将对它们进行排序,创建函数并返回一个警告,说明未按顺序提供值。如果 n 包括任何重复的值,则数据库引擎将返回错误。
LEFT | RIGHT
指定当间隔值由 数据库引擎 按升序从左到右排序时,boundary_value [ ,...n ] 属于每个边界值间隔的哪一侧(左侧还是右侧)。如果未指定,则默认值为 LEFT。有关详细信息,请参阅示例。
举例:CREATE PARTITION FUNCTION customer_partfunc(int)
AS RANGE RIGHT FOR VALUES(250000,500000,750000)图表: 
分区1234
Valuescol1 <= 250000col1 > 250000 AND col1 <= 500000col1 > 500000且 col1 <= 750000col1 > 750000
只要使用customer_partfunc分区函数,就可以按照上图对数据表进行分区
  • 1
  • 2
  • 3
  • 下一页
Oracle连接远程数据库配置介绍SQL Server 2005 表分区说明相关资讯      SQL Server  sql server分区表  sql2005 分区表  sql 分区表 
  • Build2016喜讯:Linux用户注册微软  (03月17日)
  • SQL Server on Linux 理由浅析  (03月09日)
  • 管理SQL Server服务的登录(启动)  (02月13日)
  • 微软要抢甲骨文用户?从Oracle迁移  (03月13日)
  • 微软发布面向Linux的SQL Server预  (03月08日)
  • SQL Server如何修改自增列值以及相  (01月23日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数