北方站长站
客服热线:0632-5117766

细化解析:SQL Server2005查询计划指南 (1)

[2008-01-31 20:13:23] 作者:Northz.com 来源:北方站长网

Tags:计划 指南 查询 解析 匹配 提示 执行 如果 SQL 数据库

  

问:如果应用程序数据库查询性能低下,而我们又无法获得源代码来修改查询文本,

在不直接更改查询文本的前提下,怎样提高查询性能?

答:SQL Server 2005引入了称为”计划指南”的新特性,可以帮解决上述问题。

原理:

1. 当应用程序向Sql Server发送代码,查询优化器首先检查在缓存中是否有一个适当的询问计划,如果有,查询就按被找到的查询计划执行。

2. 如果没有匹配的查询计划,代码将被与一个称为内部查寻表(lookup table)比较, 看是否有一个已存在的计划指南与之匹配。

3. 如果在第2步找到匹配的计划指南,询问优化器将修改源代码以包括计划指南中查询提示。源代码中之前的任何查询提示将被新提示替换。

4. 查询计划将被编译和缓存。

5. 查询将按照你之前在计划指南设定的查询提示执行。

计划指南的分类:

有三种方式的计划指南:

1.OBJECT 计划指南:与在 Transact-SQL 存储过程、标量函数、多语句表值函数和 DML 触发器的上下文中执行的查询匹配。

2.SQL 计划指南:与在独立的 Transact-SQL 语句和批处理(不属于数据库对象)的上下文中执行的查询匹配。基于 SQL 的计划指南还可用于与参数化为指定形式的查询匹配。SQL 计划指南适用于应用程序使用 sp_executesql 系统存储过程频繁提交的语句和批处理。

3.TEMPLATE 计划指南:与参数化为指定形式的独立查询匹配。这些计划指南用于覆盖查询类的数据库的当前 PARAMETERIZATION 数据库 SET 选项。TEMPLATE 计划指南用于覆盖特定查询形式的参数化行为。您可以在以下任一情况下创建 TEMPLATE 计划指南。

可以在计划指南使用中的查询提示:

{HASH | ORDER} GROUP {CONCAT | HASH | MERGE} UNION {LOOP | MERGE | HASH} JOIN FAST number_rows FORCE ORDER MAXDOP number_of_processors OPTIMIZE FOR ( @variable_name = literal_constant ) [ ,…n ] RECOMPILE ROBUST PLAN KEEP PLAN KEEPFIXED PLAN EXPAND VIEWS MAXRECURSION number USE PLAN <xmlplan>

1 i5H北方站长站

i5H北方站长站

 

News

 

info

 

down

出售手机裁听器,手机跟踪定位系统    企业网站,网城,购物网,都市导购,校园网    网上书店系统    上海电信机房服务器托管,双线主机托管    美女图片馆    15G 高清晰图片资源 无水印    室内装潢材料新产品杰威尔艺术漆    收一万ip的美女图片    大量收购个人网址导航网站    出售网址站PR=4alexa=119,764    

下一篇链接:在其他的编程接口中应当如何使用游标

上一篇链接:推荐;适合SQL初学者学习的SQL FAQ集锦 (1)

评论】 【打印】 【加入收藏】 【关闭→论坛 →博客 →数据中心

 共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面