手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>VB>列表

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

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

优化的最后阶段,称为完全优化,旨在对复杂和非常复杂的查询产生一个好计划。对复杂的查询来说,QuickPlan 产生的计划,经常被认为比继续搜索一个更好的计划要昂贵得多,而完全优化将被执行。在完全优化中,实际上有两个适用的独立选择。如果 QuickPlan 阶段产生的最佳成本比“并行成本阈值”的配置值要高,并且如果服务器是一个多处理器机器,那么优化器的最后阶段将涉及查找一个能在多个处理器上并行运行的计划。如果 QuickPlan 阶段的最佳计划的成本比配置的“并行成本阈值”低,那么,优化器将只考虑串行计划。完全优化阶段能执行各种可能性,而且很耗时,因为在这最后阶段必须找到一个计划。优化器仍可能没有检查每个可得到的计划,因为它将任何潜在的计划成本与优化中得出此结果的成本进行比较,并且它估算继续试用不同优化的可能成本。在某些情况下,优化器可能认为,使用现有的计划比继续查找更优方案还要便宜,而且支付继续优化的附加编译成本将不具备高的成本效率比。在这最后阶段处理的各种查询的计划一般只使用一次,所以,几乎没有这样的机会:为编译和优化所付出的额外代价,会在后续执行的计划重用中一次结清。那些后续执行很可能不会发生。

找到一个计划后,该计划便变为优化器的输出,然后 SQL Server 在执行该计划之前,遍历前面已讨论过的全部缓存机制。您应该意识到,如果完全优化阶段产生了该查询的并行计划,并不一定意味着该计划将在多个处理器上执行。如果机器很忙,而且不支持在多个 CPU 上运行单一的查询,该计划则使用单一的处理器。

图 13 显示了优化器的处理流程。

图 13. 优化

执行

查询处理的最后一步是执行。除了这一小段外,我们不会再讨论执行的详细过程。执行引擎采用优化器生成的计划,并执行之。处理实际执行以外,执行引擎还为要运行的处理器调度线程,并提供线程间的通信。

摘要

如前所述,SQL Server 的内部机制与结构是一个非常大的主题,远远超过了我们能在本文中提供的内容。我们重在直接介绍 SQL Server 与客户机的交互方式,以及 SQL Server 关系引擎如何处理来自客户机的请求。我们希望,在了解 SQL Server 如何处理查询,以及如何和何时编译或重新编译它们之后,您就能利用 SQL Server 7.0 的功能和技巧编写出更好的应用程序。

上一篇: VB5中远程数据库的访问
下一篇: 显示数据库记录

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!