在SQL Server中的关系型数据仓库分区策略(1)
2007-05-15 09:27:46 来源:WEB开发网核心提示: ◆将新近填充好的表交换进分区表的每一个分区◆在初始导入之后,在一个表中任何新导入和交换进来的数据都不会成为分区表的一部份,在SQL Server中的关系型数据仓库分区策略(1)(9),一旦数据已经就绪,在设置好适当的分界点后表就可以被交换进分区表◆类似的,第一个分区将会包含带有<=2
◆将新近填充好的表交换进分区表的每一个分区
◆在初始导入之后,在一个表中任何新导入和交换进来的数据都不会成为分区表的一部份。一旦数据已经就绪,在设置好适当的分界点后表就可以被交换进分区表
◆类似的,老化数据可以被移动到更经济有效的I/O子系统但是仍然在线并保持可用状态
接下来的部份涉及了一些针对分割分区表以及将分区交换进分区表的最佳实践。
交换分区的最佳实践
只有当目标表或者分区是空的时滑动窗口方案才工作。例如,如果一个分区“P”属于分区表“PT”,它必须被交换出到表“T”,随后目标表“T”必须被清空。类似的,当将表“T”交换进分区表“PT”的分区“P”,目标分区“P”应当是空的。
当跨分区的数据移动被最小化时,滑动窗口方案工作最佳。下面的代码定义了分区函数和分区架构。当在这个分区架构上创建一个表时,分区表将会包括三个分区。第一个分区将会包含带有<=200401的键值的数据;第二个带有>200401 且 <=200403的键值;第三个带有>200403的键值。
CREATE PARTITION FUNCTION SALES_MONTHLY_PARTITION_FUNCTION (INT)
AS RANGE LEFT FOR VALUES ( 200401, 200403 )
GO
CREATE PARTITION SCHEME SALES_MONTHLY_PARTITION_SCHEME AS
PARTITION SALES_MONTHLY_PARTITION_FUNCTION ALL TO ([PRIMARY])
GO
CREATE TABLE t
(
col1 INT
)ON SALES_MONTHLY_PARTITION_SCHEME(col1)
GO
当使用ALTER PARTITION函数的分割功能添加一个值为200402的新分界时,行会在相应的分区间移动。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接