快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-18
询计划的空间也是经常变化的。

  在处理查询时,sql server(WINDOWS平台上强大的数据库平台) 7.0 首先会问的是:这个查询既是特定的又是易于编译的吗?如果是,sql server(WINDOWS平台上强大的数据库平台) 就根本不会将其写入缓存中。将来重新编译这些计划比把复杂的计划或数据页推出内存更合算。如果查询不是特定的或不易于编译,则 sql server(WINDOWS平台上强大的数据库平台) 会从缓存区中分配一些缓存内存存储该计划,因为该缓存区是 sql server(WINDOWS平台上强大的数据库平台) 7.0 用来满足 99% 内存需求的唯一来源。在少数特殊情况下,sql server(WINDOWS平台上强大的数据库平台) 会直接从操作系统中分配大块内存,但是这种情况极为罕见。sql server(WINDOWS平台上强大的数据库平台) 的管理是集中式的。


写入缓存的除计划外,还有反映通过编译该查询实际创建该计划的成本的成本因子。如果这是一个特定计划,则 sql server(WINDOWS平台上强大的数据库平台) 将它的成本设置为 0,表示可以立即将它撤出过程缓存。对于特定 SQL,虽然有可能被重复使用,但可能性很小,如果系统内存紧张,总是愿意首先撤出特定语句的计划。

这样,特定查询的计划是最适合清出缓存的对象。如果查询不是特定的,则 sql server(WINDOWS平台上强大的数据库平台) 会把该成本设置为实际编译查询的成本。这些成本是以磁盘 I/O 为单位的。如果从磁盘中读出一个数据页,则有一个 I/O 成本。在编译计划时,信息从磁盘中读出,包括统计数据和查询本身的文本。SQL 要进行附加的处理,而且这处理工作被正常化为 I/O 成本。现在,建立过程的成本可用执行 I/O 的成本表示。该成本非常恰当反映了,与打算用磁盘缓存的数据量相比,管理实际打算分配给存储过程和任何种类查询计划的缓存量的能力。该成本被计算出来之后,该计划就会被写入缓存。

  图 8 显示计算计划成本并将其写入缓存的流程。

(WINDOWS平台上强大的数据库平台) 查询处理器的内部机制与结构(图八)" width="214" height="315" />
  图 8. 将计划写入缓存

  如果另一个查询可以重新使用该计划,则 sql server(WINDOWS平台上强大的数据库平台) 要再次判定计划的类型。如果是一个特定计划,sql server(WINDOWS平台上强大的数据库平台) 会把成本加 1。这样,如果特定计划确实要被重新使用,则它会在缓存中稍作停留,停留时间越长,成本就增加越多。如果该计划经常被重新使用,

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号