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

SQL Server2005查询计划指南

 2007-07-31 09:47:37 来源:WEB开发网   
核心提示: 代码的运作原理@name = N'PlanGuideTest'指定计划指南的名称为 PlanGuide1@stmt = N'SELECT COUNT(*) AS Total FROM Sales.SalesOrderHeader h, Sales.SalesOrde

代码的运作原理

@name = N'PlanGuideTest'

指定计划指南的名称为 PlanGuide1

@stmt = N'SELECT COUNT(*) AS Total FROM Sales.
SalesOrderHeader h, Sales.SalesOrderDetail d WHERE
h.SalesOrderID = d.SalesOrderID and h.OrderDate
BETWEEN "1/1/2000" AND "1/1/2005" '

这段代码是询问优化器应该匹配的代码。 无论应用程序何时向服务器发送这段代码,询问优化器设法匹配代码。当发现代码和上面列出的匹配时,查询优化器在内部查询表(loolup table)中查找正确的计划指南,并运用计划指南

@type = N'SQL',

说明计划指南的类型,这是一个 SQL 计划指南

@module_or_batch = NULL,

这个代码行用于指定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  --启用当前数据库中的所有计划指南

上一页  1 2 3 4  下一页

Tags:SQL Server 查询

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