在SQL Server中的关系型数据仓库分区策略(1)
2007-05-15 09:27:46 来源:WEB开发网以下部份阐述了SQL Server 2005中分区功能的优势并提供了将分区表迁移到SQL Server 2005的策略。
在SQL Server 2005中分区的优势
在SQL Server 2005中的表和索引的分区功能通过将其分解为更易管理的分区大大方便了对超大型数据库的管理。这一部份涉及了一些在针对关系型数据仓库的使用中分区表相对于分区视图的优势。
管理
一个使用分区视图的缺点是当你使用它的时候,数据库操作必须对单个的对象执行而不是对视图本身。举个例子,如果一个现存的索引必须被删除并且要创建一个新的索引,这些操作必须在每个相关的基表上执行。
在SQL Server 2005中,诸如索引维护这样的数据库操作是对分区表本身而不是底层的相关分区上进行的,因而在管理索引过程中大大减轻了负担。
更好的Parallelism机制
在SQL Server 2000中,操作是在单个表上执行的并且数据在一个分区视图的级别进行聚合。来自于基表中的行通过使用串联运算符进行汇集并显示视图。然后再在结果集数据上执行聚合。
在SQL Server 2005中,对分区表执行的查询使用了一个被称为demand parallelism的新的运算符。Demand parallelism受到系统资源和MAXDOP设置的影响。
使用分区表的查询将会比使用分区视图进行的同样查询更快的进行编译。当使用分区视图时查询的编译时间是与分区的数量成正比的,而使用分区表时查询的编译时间不会受到分区数量的影响。
在某些情况下,对分区视图进行查询可能会更好一些。以下描述了这样的情况:
◆当优化器选择使用demand parallelism时,parallelism的最小单位是一个分区。在SQL Server 2005中对一个分区表中的单个分区进行查询的性能可能不太好,原因是parallelism的级数被限制到了1。同样的查询如果对一个分区视图进行可能会好一些,原因是在一个分区内更好的parallelism
- ››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表' (数...
更多精彩
赞助商链接