建立SQL Server 2008的計劃指南
本主題說明了如何使用 SQL Server Management Studio 建立計劃指南。 計劃指南通過將查詢提示或固定查詢計劃附加到查詢來影響查詢優化。 在計劃指南中,您需要指定要優化的 Transact-SQL 語句以及包含要使用的查詢提示的 OPTION 子句或要用於優化查詢的特定查詢計劃。 當查詢執行時,查詢優化器會將相應 Transact-SQL 語句與計劃指南進行匹配,然後在執行時將此 OPTION 子句附加到查詢,或使用指定的查詢計劃。
以下示例為 Transact-SQL 語句建立了一個計劃指南,並將 FORCESEEK 查詢提示應用到該語句。 該查詢提示強制優化器使用索引查詢操作來訪問指定表中的資料。
建立計劃指南示例
在物件資源管理器中,連線到 資料庫引擎 例項,再展開該例項。
依次展開“資料庫”、AdventureWorks 資料庫和“可程式設計性”。
右鍵單擊“計劃指南”,然後單擊“新建計劃指南”。
在“名稱”中,輸入 ForceseekPlan 作為計劃指南的名稱。
在“語句”中,輸入以下 Transact-SQL 語句。 這是要對其應用計劃指南的語句。
複製程式碼
SELECT c.LastName, c.FirstName, HumanResources.Employee.Title
FROM HumanResources.Employee
JOIN Person.Contact AS c ON HumanResources.Employee.ContactID = c.ContactID
WHERE HumanResources.Employee.ManagerID = 3 ORDER BY c.LastName, c.FirstName;在“作用域型別”中,選擇 SQL 作為顯示 Transact-SQL 語句的實體的型別。
在“提示”中,輸入以下 OPTION 子句。
複製程式碼
OPTION (TABLE HINT(HumanResources.Employee, FORCESEEK))若要建立計劃指南,請單擊“確定”。
在物件資源管理器中,連線到 資料庫引擎 例項,再展開該例項。
依次展開“資料庫”、AdventureWorks 資料庫和“可程式設計性”。
右鍵單擊“計劃指南”,然後單擊“新建計劃指南”。
在“名稱”中,輸入 ForceseekPlan 作為計劃指南的名稱。
在“語句”中,輸入以下 Transact-SQL 語句。 這是要對其應用計劃指南的語句。
複製程式碼
SELECT c.LastName, c.FirstName, HumanResources.Employee.Title
FROM HumanResources.Employee
JOIN Person.Contact AS c ON HumanResources.Employee.ContactID = c.ContactID
WHERE HumanResources.Employee.ManagerID = 3 ORDER BY c.LastName, c.FirstName;在“作用域型別”中,選擇 SQL 作為顯示 Transact-SQL 語句的實體的型別。
在“提示”中,輸入以下 OPTION 子句。
複製程式碼
OPTION (TABLE HINT(HumanResources.Employee, FORCESEEK))若要建立計劃指南,請單擊“確定”。
驗證計劃指南是否與查詢匹配
啟動一個 SQL Server Profiler跟蹤,確保 Plan Guide Successful 和 Plan Guide Unsuccessful 事件型別均已選中(位於“效能”節點下面)。
執行在上一過程的步驟 5 中提供的查詢。
暫停 SQL Server Profiler跟蹤。
在 Plan Guide Successful 事件中查詢受影響的查詢。
如果計劃指南與查詢不匹配,請確保查詢完全是以在計劃指南語句中指定的格式(字元對字元)提供的。 這包括製表符、空格、回車符或換行符。
啟動一個 SQL Server Profiler跟蹤,確保 Plan Guide Successful 和 Plan Guide Unsuccessful 事件型別均已選中(位於“效能”節點下面)。
執行在上一過程的步驟 5 中提供的查詢。
暫停 SQL Server Profiler跟蹤。
在 Plan Guide Successful 事件中查詢受影響的查詢。
如果計劃指南與查詢不匹配,請確保查詢完全是以在計劃指南語句中指定的格式(字元對字元)提供的。 這包括製表符、空格、回車符或換行符。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-503355/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server 2008將計劃指南與查詢匹配SQLServer
- 建立SQL Server 2008的效能基線SQLServer
- 建立SQL Server 2008的工作負荷SQLServer
- SQL Server 2008登入名的建立SQLServer
- SQL Server Database 維護計劃建立完整的備份策略SQLServerDatabase
- SQL Server 2008 建立非聚集索引SQLServer索引
- SQL Server執行計劃SQLServer
- SQL Server2008建立約束圖解SQLServer圖解
- 剖析SQL Server執行計劃SQLServer
- SQL Server 2008 建立事務日誌備份SQLServer
- SQL Server 2008 建立完整資料庫備份SQLServer資料庫
- SQL Server 2008中Analysis Services的新特性——深入SQL Server 2008SQLServer
- SQL Server 2008 非聚集索引設計SQLServer索引
- 建立索引調整sql的執行計劃索引SQL
- SQL Server 2000 建立統計SQLServer
- SQL Server 2008 sqlcmd 的使用SQLServer
- SQL Server容量規劃中使用的計數器SQLServer
- SQL SERVER 2008的top增強SQLServer
- SQL Server 2008稀疏列的使用SQLServer
- SQL SERVER 2008安全配置SQLServer
- SQL Server 2008 過期SQLServer
- 安裝sql server 2008SQLServer
- SQL Server 2008 安全更改SQLServer
- 微軟之日 --- SQL Server 2008微軟SQLServer
- SQL Server 2008篩選索引設計準則SQLServer索引
- 在SQL Server 2008中安裝安全審計SQLServer
- Sql Server2008 格式化 Sql的 工具SQLServer
- 怎樣從SQL Server2008升級到SQL Server 2008 r2SQLServer
- ORACLE 9i 建立透明閘道器訪問SQL Server 2008OracleSQLServer
- 微軟SQL Server 2008的精妙之處微軟SQLServer
- SQL Server 2008的效能優化工具SQLServer優化
- SQL Server 2008的新壓縮特性SQLServer
- 識別SQL Server 2008的瓶頸SQLServer
- 解析 SQL Server 2008 的精妙之處SQLServer
- SQL SERVER 2008 R2的累計補丁下載地址SQLServer
- SQL Server 2008 的 Transact-SQL 語言增強SQLServer
- SQL Server 2008快照備份SQLServer
- SQL Server 2008 優化工具SQLServer優化