网络编程
位置:首页>> 网络编程>> 数据库>> 教你在SQL Server 2000数据库中使用分区(5)

教你在SQL Server 2000数据库中使用分区(5)

作者:Alizze  发布时间:2008-11-25 11:55:00 

标签:

2、修改表和索引的 Name 属性,检查约束 Text 属性和其他属性;

使用 ADD 方法对表进行实例化,使用智能命名约定,用几行代码即可完成这项任务。

如本文后面将要讨论的那样,您的应用程序可以将分析服务分区用于数据仓库系统的多维数据集。如果这样,在 RDBMS 中创建分区的脚本和程序可以使用决策支持对象 (DSO) 继续创建相应的多维数据集分区。

填充分区

前面提到过,数据可以被加载入 UNION ALL 视图。理论上,这是表分区结构的一大功能,但在实践中不推荐将其用于数据仓库应用程序。不能将数据批量加载到 UNION ALL 视图;对于大到必须对表进行分区的数据仓库来说,加载进程将会太慢。

相反,数据仓库应用程序的设计必须使每一个周期都可以把数据快速加载到相应的目标表。如果数据分阶段应用程序在 SQL Server 数据转换服务 (DTS) 中实现,动态属性任务可以很容易地更改数据泵任务或批量插入任务的目标表的名称。


只要新分区没有加入 UNION ALL 视图,就不需要在系统停机时间加载数据。

数据仓库分阶段应用程序应该设计为可以处理不属于当前分区的新数据。如果数据仓库加载进程不是在一个夜晚完成,就可能发生这种特殊情况。其他系统要处理不断到来的旧数据。系统的设计必须考虑到这些例外情况的可能性、频率和数据量。

如果旧数据以足够低的量到达,最简单的设计就是使用可更新的 UNION ALL 视图来加载所有不属于当前分区的数据。

定义UNION ALL视图

一旦渐变加载成功完成,就必须重新修订 UNION ALL 视图。仍然建议使用 SQL-DMO 完成本任务:使用 ALTER 方法更改 VIEW 对象的 TEXT 属性。从上面所述的元数据表中导出视图定义中要包括的分区列表是最佳途径。

合并分区

表面上看来,将若干分区合并至单个较大分区似乎是多余的。不过,对于日加载量巨大同时加载窗口很小的数据仓库,通过下列措施可以显著改善加载性能:

1、用要加载的数据创建文本文件,按簇索引的顺序排序;

2、批量加载到空的日分区;

3、创建所有的非簇索引。

通过重新创建 UNION ALL 视图,使新分区保持联机。

通过自日分区插入、重新创建索引和重新生成 UNION ALL 视图,每周创建和填充新的周分区。然后就可以丢弃日分区。

数据变得陈旧后就移动至周甚至月分区,这样更多的分区可以联机保留在 UNION ALL 视图中。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com