Microsoft SQL Server 查询处理器的内部机制与结构
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-03-18
OWS平台上强大的数据库平台) 可能会根据语句所满足的条件重新编译,所以状态并不是永远稳定的,但也不是处于不停的变化之中。如果优化器使用的信息变化太剧烈、太经常 — 并发处理器的数量和锁的数量不稳定 — 则必须不断重新进行编译,而一般来说编译是比较耗时的。例如,SQL 语句的运行时间为百分之一秒,而编译可能需要占用半秒。最理想的情况是,sql server(WINDOWS平台上强大的数据库平台) 能够只编译语句一次,而执行成千上万次,不必每次执行该语句时都重新编译它。 编译阶段的最终产品是查询计划,放在过程缓存中。便宜的特定 SQL 计划并不放在缓存中,不过这只是个小问题。我们不希望缓存被不太可能重复执行的内容占满,一般来说,特定 SQL 语句的计划是最不可能反复使用的了。如果语句编译已经很便宜(小于百分之一秒),则没有必要再把计划放入缓存,用不太可能重新使用的计划占用缓存。 把计划放入缓存之后,SQL Manager 按照执行要求逻辑进行检查,确定是否有更改的内容,是否需要重新编译。即使编译到执行之间时间间隔只有几毫秒,也可能有人会执行一条数据定义语句 (DDL),为关键的表加了索引。这种可能性不大,但是确实存在,因此 sql server(WINDOWS平台上强大的数据库平台) 必须考虑这一点。有几种情况 sql server(WINDOWS平台上强大的数据库平台) 必须重新编译存储规划。元数据的修改,例如增加或删除索引,是重新编译的最主要的原因。服务器必须确信所使用的计划反映了索引的当前状态。 重新编译的另一种原因是统计情况发生变化。sql server(WINDOWS平台上强大的数据库平台) 还维护不少数据使用频率的统计信息。如果数据使用频率分布情况变化很大,则可能需要另一个查询计划以便更有效地执行。sql server(WINDOWS平台上强大的数据库平台) 跟踪表数据插入和删除的统计数据,如果数据修改的数量超过根据表的容量变化的某一阈值,则需要根据新的分布数据重新编译计划。 图 7 给出了编译和执行过程的流程。 (WINDOWS平台上强大的数据库平台) 查询处理器的内部机制与结构(图七)" width="477" height="374" /> ·OWASP要素增强Web应用程序安全(2) ·“恶搞”盗用你无线网络的邻居 ·如何入侵jsp(SUN企业级应用的首选)网站 ·黑客知识:如何隐藏 PHP文件后门的技 ·jsp(SUN企业级应用的首选)+javabean学习(二) ·Java入门视频教程-第61讲 ·OWASP 10要素增强Web应用程序安全(1 ·什 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 表链接下一篇: SQL SERVER 2000 连接不上的解决方法
关于Microsoft SQL Server 查询处理器的内部机制与结构的所有评论