快速业务通道

Microsoft SQL Server 查询处理器的内部机制与结构

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-18
信息也附加在次序树上,例如,如果查询试图向数字值添加整数 10,则 sql server(WINDOWS平台上强大的数据库平台) 将向该树插入隐含的转换。正常化还用视图的定义代替对该视图的引用。最后,正常化执行一些基于语法的优化。如果该语句是传统的 SQL 语句,则 sql server(WINDOWS平台上强大的数据库平台) 从关于该查询的次序树中提取信息,并创建称为查询图表的特殊结构,设置查询图表是为了使优化器工作非常有效。然后优化该查询图表,一个计划就产生了。

  图 12 显示编译过程流程。

(WINDOWS平台上强大的数据库平台) 查询处理器的内部机制与结构(图十二)" width="306" height="328" />
  图 12. 编译

优化
  sql server(WINDOWS平台上强大的数据库平台) 优化器其实是由独立的段组成的。第一段是一个非基于成本的优化器,称为琐细计划优化。琐细计划优化的完整概念是,当 SQL 语句确实只有一个可变计划时,基于成本的优化太昂贵了。最好的例子是,带 VALUES 子句的 INSERT 语句组成的查询。它只可能有一个计划。另一个例子是,所有的列都在唯一的封面索引(且没有其他列的索引)中的 SELECT 语句。这两例中,sql server(WINDOWS平台上强大的数据库平台) 只要简单地生成一个计划,用不着在多个计划选一个更好的方案。琐细计划优化器可找到真正显而易见的计划,而且通常非常便宜。所以,最简单的查询在处理的前期就趋于被清除,优化器不花很多时间来搜索一个好计划。这是好事,因为随着 sql server(WINDOWS平台上强大的数据库平台) 将杂凑连接、合并连接和索引相交增加到其处理技术列表上,sql server(WINDOWS平台上强大的数据库平台) 7.0 版上的潜在计划数呈天文数字增长。

  如果琐细计划优化器不能找到一个计划,sql server(WINDOWS平台上强大的数据库平台) 便进入优化的下一部分,称为简化。简化是查询本身的语法变换,寻找可交换的特性和可重新排列的运算。sql server(WINDOWS平台上强大的数据库平台) 可进行常数合并,以及无需考虑成本或分析索引是什么但能得出更有效查询的其他运算。sql server(WINDOWS平台上强大的数据库平台) 然后上载关于索引和列的统计信息,并输入优化的最后的主要部分,即基于成本的优化器。


基于成本的优化有三个阶段。第一个基于成本的阶段,称为交易处理阶段,查找简单请求的计划,即典型的交易处理系统。这些请求一般比由琐细计划优化器处理的那些请求要复杂些,并要求比较

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号