WEB开发网
开发学院数据库MSSQL Server SQL Server2005查询计划指南 阅读

SQL Server2005查询计划指南

 2007-07-31 09:47:37 来源:WEB开发网   
核心提示: 下面是有些例子的是怎样使用这个存储过程:sp_control_plan_guide N'DROP', N'PlanGuideTest'sp_control_plan_guide N'DISABLE', N'PlanGuideTest&

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

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 4 

Tags:SQL Server 查询

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接