精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Powerbuilder>>数据库相关技术>>MS SQL Server 7.0新特性(2)

主题:MS SQL Server 7.0新特性(2)
发信人: lei_tiger()
整理人: leitiger(2002-06-05 23:45:28), 站内信件
今天介绍SQL7对复杂查询性能增强,如表连接技术的改进,OLE DB技术,查询限
制放宽,多处理机并行执行等。
-------------------------------

3、增强的复杂查询处理

·新的杂凑(hash)及合并(merge)连接
·多索引操作和行定位符

查询处理器被重新设计以支持大数据库和复杂查询,基于决策支持,数据仓库,
和OLAP应用。查询处理器包括一些新的执行策略可以增强复杂查询的性能。

现在采用了杂凑(hash)连接和更成熟的合并(merge)连接,即高级杂凑集合技术。
这些技术可以比嵌套循环连接技术更适合于大数据库,后者是 SQL Server 6.5 
的主要连接技术。SQL Server 7.0 对多个索引使用索引交叉和联合技术,在从表
中提取记录之前进行过滤。当你修改数据是一个表的所有索引被并发维护。约束
评估(constraint evalution)现在作为查询处理器执行计划的一部分。这两个因
素简化和加速了对一个表中多行记录的更新。

SQL Server 7.0 查询处理器从统计(statistics)中提取信息并采用随机快速采样
动态重组统计。系统还根据优化器需要自动采集统计。这确保查询处理器使用最
新的统计结果并减少维护要求。

查询优化器识别查询结构中的公共数据,如星型结构或雪花结构,并基于针对这
种结构的查询的开销分析选择执行计划。例如,SQL Server 7.0 查询优化器使用
笛卡儿乘积索引操作和半连接(semi-join)技术来处理星型模式的查询。

查询优化器有着多样的执行策略,并且 SQL Server 早期版本的许多优化限制都
被去掉了。一个改进的开销模型和编译增强,例如及物谓词和常量折叠,很大程
度地改进了执行计划。

查询处理器支持新的查询暗示(query hints),有些查询限制被放宽或去掉了。例
如,单个查询可以引用256个表,一个查询内部工作表(internal work table)的
数量(早期版本为16个)不再有限制。

查询处理器使用 OLE DB 与 SQL Server 数据存储组件通讯。OLE DB 为 SQL Se
rver 7.0 查询处理器提供了分布式和异类查询能力。它支持多个 SQL Server 7
.0 或与其他 OLE DB 之间的分布查询。

SQL Server 7.0 支持单个查询在多处理器上并行执行。一个必须检查大量的记录
的CPU限度(CPU-bound)查询如果部分执行计划被并行执行常常会更好。SQL Serv
er 7.0 自动决定哪个查询能从并行执行计划中受益并生成并行执行计划。如果查
询开始时有多个处理器可用,工作被分配给处理器们。并行查询执行计划缺省是
可用状态的。

当查询优化时,SQL Server 查找可能从并行执行中受益的查询。对这些查询,S
QL Server 向查询执行计划中插入交换操作符(exchange operator)来准备并行执
行。查询执行计划中的交换操作符提供处理管理,数据重分配,和流控制。插入
交换操作符后,就是一个并行执行计划。并行查询执行计划使用多于一个线程,
而使用非并行查询的串行执行计划直使用一个线程。并行查询使用线程的实际数
量取决于查询计划执行和初始化,称为并行度。

--
我雷老虎以德服人。^-^
我对MIS(尤其是商业MIS)开发和人工智能研究很有兴趣,欢迎交流!
给我来信:[email protected]

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.130.229.56]

[关闭][返回]