赛迪网 > IT技术 数据库 > 精彩更新
  IT资讯搜索
 
IT产品搜索

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

发布时间:2007.07.31 07:53     来源:赛迪网    作者:Alice

这个代码行用于指定statement_text对象的名字,仅在计划指南类型是OBJECT 计划指南时需要

@params = NULL,

指定嵌入 statement_text 中的所有参数的定义,在Template 计划指南类型时需要

@hints = N'OPTION (MERGE JOIN)'

指定将 OPTION 子句附加到与 @stmt 匹配的查询上

2.sp_control_plan_guide

删除、启用或禁用计划指南:

语法:

sp_control_plan_guide [ @operation = ] 
N'<control_option>' [ , [ @name = ] 
     N'plan_guide_name' ]

<control_option>::=

{ 

  DROP          --删除由plan_guide_name 指定的计划指南

  | DROP ALL     --删除当前数据库中的所有计划指南

  | DISABLE      --禁用由plan_guide_name 指定的计划指南

  | DISABLE ALL  --禁用当前数据库中的所有计划指南

  | ENABLE       --启用由plan_guide_name 指定的计划指南

  | ENABLE ALL   --启用当前数据库中的所有计划指南

下面是有些例子的是怎样使用这个存储过程:

sp_control_plan_guide N'DROP', N'PlanGuideTest' 
sp_control_plan_guide N'DISABLE', N'PlanGuideTest' 
sp_control_plan_guide N'ENABLE', N'PlanGuideTest'

注:如果您设法删除﹑修改﹑一个涉及到计划指南的存储过程﹑函数﹑或DML触发器, 它系统将报错。 必须先删除计划指南。

查看计划指南

可以使用sys.plan_guides目录视图查看数据库中的计划指南:

SELECT * FROM sys.plan_guides

使用事件探查器验证是否执行计划指南:

1. 启动事件探查器 跟踪,选中”性能”->”Showplan XML” 事件类型。

2. 运行查询。

3. 在 Showplan XML 事件中查找受影响的查询。

4. 如果计划指南的类型为 OBJECT 或 SQL,则验证 Showplan XML 事件是否包含您希望与查询匹配的计划指南的 PlanGuideDB 和 PlanGuideName 属性。或者,如果计划指南的类型为 TEMPLATE,则验证 Showplan XML 事件是否包含预期计划指南的 TemplatePlanGuideDB 和 TemplatePlanGuideName 属性。这可以验证计划指南是否在运行。这些属性包含在计划的 元素下。

计划指南通常使用的情况:

1. 在参数化的查询中增加OPTIMIZE FOR or RECOMPILE 询提示。

2. 用USE PLAN查询提示强制使用更好的查询计划。

3. 强迫非并行查询使用MAXDOP查询提示。

4. 强制join查询试验join查询提示。

5. 删除,修改,替代现有的查询提示。

最佳实践:

1. 计划指南的作用域是创建这些计划指南所用的数据库。

2. 计划指南需要有经验的DBA才能使用。

3. 如果没有其他方法来解决查询效率问题,请使用一个计划指南。

4. 计划指南需经过测试才正式使用。

5. Sql Server版本涉及或打SP补丁后,需要重新评估计划指南的效率,

以确定是否继续使用计划指南。 (责任编辑:卢兆林)

<<上一页 1 2 3


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 不要在SQL Server中盲目地追求一句处理 (07-30) · 解析SQLServer怎样才能访问sybase中的表 (07-30)
· 怎样终止:SQL Server数据库的恢复过程 (07-29) · 轻松学会:配置SQL Server来做远程备份 (07-29)
· SQL/ASE SERVER 移植到同种平台的系统上 (07-29) · XP上不能安装SQL Server2000吗 (07-27)
· 通过分析SQL语句的执行计划优化SQL(三) (07-27) · sql2005安装sp1后报更新出错的处理方法 (07-27)
· 解析IP地址连接SQL数据库速度慢的原因 (07-26) · 解决SQLServer最大流水号的两个好方法 (07-26)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管