SQL Server中的关系型数据仓库分区策略(1)
2007-12-27 15:32:37 来源:WEB开发网◆当分区的数量少于处理器的数量时使用分区视图会更好一些,原因是通过parallelism可以更好的使用处理器资源。当分区的数量大于处理器数量,而数据并不是在分区间平均分布时,对分区表查询的性能可能仍旧不太好
◆当分区中的数据分布不均时使用对分区视图的查询也会更好一些
标识一个查询计划中的 Demand Parallelism
下面是一个查询计划的示例,它是由一个加法聚合查询产生的。
划了红圈的部份标明了在查询计划中出现的demand parallelism。嵌套循环运算符左边的子demand parallelism是用分区ID来表示的。嵌套循环运算符右边的子demand parallelism是用分区表自身来表示的。在这张图表中,对于由左边的子demand parallelism所返回的每一个分区ID,一个并行的索引查找运算符对来自对应的分区中的行进行反复扫描。所有在嵌套循环运算符上进行的操作也受到由demand parallelism所建立的并行线程的数量的影响。左边的子demand parallelism表示了仅当分区剪切生效时,也就是当查询通过分区筛选结果时,被查询所影响的分区ID。
图表1:标识 demand parallelism
从SQL Server 2000的分区视图迁移到 SQL Server 2005 分区表/索引
一个现存的基于单个巨表或者分区视图的应用程序可以被重构或者迁移到一个基于分区的SQL Server 2005解决方案。要作出是重构还是迁移应用程序的决定,必须详细分析在性能,可管理性,以及可用性方面存在的需求。
一个将SQL Server 2000的分区视图迁移到SQL Server 2005分区表的简单路径将包括以下步骤:
◆创建一个分区函数和架构以确定每个分区的分界点和物理存储位置。分界点应当和分区视图的基表的差不多
◆在新建的分区架构上创建一个分区表。该表应当指定与分区视图的基表同样的物理结构,包括索引
◆将分区视图的每个基表交换为新建的分区事实表的一个分区。分区架构所关联的文件组必须与被交换进来的表所属的文件组相匹配。另外,要迁移的表必须符合交换提示的要求。举个例子,目标表不能是一个与架构绑定的视图的部件。关于交换提示的要求列表,请参阅SQL Server 2005联机丛书中的“使用分区交换有效的传递数据”
- ››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表' (数...
赞助商链接