自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解SQL Server 2008遷移查詢(xún)計(jì)劃

運(yùn)維 數(shù)據(jù)庫(kù)運(yùn)維 SQL Server
本文將重點(diǎn)介紹SQL Server 2008中的遷移查詢(xún)計(jì)劃,包括相關(guān)步驟以及如何強(qiáng)制實(shí)施計(jì)劃。

大多數(shù)情況下,將數(shù)據(jù)庫(kù)升級(jí)到 SQL Server 2008 會(huì)提高查詢(xún)性能。 但是,如果您具有已針對(duì)性能進(jìn)行過(guò)認(rèn)真優(yōu)化的任務(wù)關(guān)鍵查詢(xún),在升級(jí)前***為每個(gè)查詢(xún)創(chuàng)建一個(gè)計(jì)劃指南,以保留這些查詢(xún)的查詢(xún)計(jì)劃。 如果在升級(jí)后,查詢(xún)優(yōu)化器為一個(gè)或多個(gè)查詢(xún)選擇了效率較低的計(jì)劃,則可以啟用這些計(jì)劃指南并強(qiáng)制查詢(xún)優(yōu)化器使用升級(jí)前的計(jì)劃。

若要在升級(jí)前創(chuàng)建計(jì)劃指南,請(qǐng)按照以下步驟執(zhí)行操作:

通過(guò)使用 sp_create_plan_guide 存儲(chǔ)過(guò)程并在 USE PLAN 查詢(xún)提示中指定查詢(xún)計(jì)劃來(lái)記錄每個(gè)任務(wù)關(guān)鍵查詢(xún)的當(dāng)前計(jì)劃。

驗(yàn)證計(jì)劃指南是否適用于此查詢(xún)

將數(shù)據(jù)庫(kù)升級(jí)到 SQL Server 2008。

計(jì)劃保留在升級(jí)后的數(shù)據(jù)庫(kù)中的計(jì)劃指南中,如果在升級(jí)后計(jì)劃的性能出現(xiàn)退步,則這些計(jì)劃將用作后備計(jì)劃。
建議您在升級(jí)后不要啟用計(jì)劃指南,因?yàn)橛捎诮y(tǒng)計(jì)信息進(jìn)行了更新,您可能會(huì)錯(cuò)過(guò)新版本中的更好計(jì)劃或者重新編譯所帶來(lái)的益處。

如果在升級(jí)后選擇了效率較低的計(jì)劃,可以激活所有計(jì)劃指南或部分計(jì)劃指南以取代新計(jì)劃。

示例

下面的示例顯示如何通過(guò)創(chuàng)建計(jì)劃指南來(lái)為查詢(xún)記錄升級(jí)前的計(jì)劃。

步驟 1:收集計(jì)劃

計(jì)劃指南中記錄的查詢(xún)計(jì)劃必須采用 XML 格式。 可通過(guò)以下方式生成 XML 格式的查詢(xún)計(jì)劃:

SET SHOWPLAN_XML
SET STATISTICS XML

查詢(xún) sys.dm_exec_query_plan 動(dòng)態(tài)管理函數(shù)的 query_plan 列。

SQL Server Profiler Showplan XML、Showplan XML Statistics Profile 和 Showplan XML For Query Compile 事件類(lèi)。

下面的示例通過(guò)查詢(xún)動(dòng)態(tài)管理視圖收集語(yǔ)句

 SELECT City, StateProvinceID, PostalCode FROM Person.Address ORDER BY PostalCode DESC; 
的查詢(xún)計(jì)劃。
USE AdventureWorks;
GO
SELECT query_plan
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
CROSS APPLY sys.dm_exec_text_query_plan(qs.plan_handle, DEFAULT, DEFAULT) AS qp
WHERE st.text LIKE N'SELECT City, StateProvinceID,

PostalCode FROM Person.Address ORDER BY PostalCode DESC;%';

GO

步驟 2:創(chuàng)建計(jì)劃指南以強(qiáng)制實(shí)施計(jì)劃

在計(jì)劃指南中使用 XML 格式的查詢(xún)計(jì)劃(通過(guò)上述任一方法獲?。瑢⒃摬樵?xún)計(jì)劃作為字符串文字復(fù)制并粘貼在 sp_create_plan_guide 的 OPTION 子句中指定的 USE PLAN 查詢(xún)提示中。

在 XML 計(jì)劃本身中,先將計(jì)劃中出現(xiàn)的引號(hào) (') 通過(guò)第二個(gè)引號(hào)進(jìn)行轉(zhuǎn)義,然后再創(chuàng)建計(jì)劃指南。 例如,對(duì)于包含 WHERE A.varchar = 'This is a string' 的計(jì)劃,必須通過(guò)將該代碼修改為 WHERE A.varchar = ''This is a string'' 來(lái)進(jìn)行轉(zhuǎn)義。

下面的示例為步驟 1 中收集的查詢(xún)計(jì)劃創(chuàng)建計(jì)劃指南,并在 @hints 參數(shù)中插入此查詢(xún)的 XML 顯示計(jì)劃。 為簡(jiǎn)潔起見(jiàn),此示例中僅包括部分顯示計(jì)劃輸出。

EXECUTE sp_create_plan_guide
@name = N'Guide1',
@stmt = N'SELECT City, StateProvinceID, PostalCode

FROM Person.Address ORDER BY PostalCode DESC;',
@type = N'SQL',
@module_or_batch = NULL,
@params = NULL,
@hints = N'OPTION(USE PLAN N''<ShowPlanXML xmlns=''''

http://schemas.microsoft.com/sqlserver/2004/07/showplan''''
Version=''''0.5'''' Build=''''9.00.1116''''>
<BatchSequence><Batch><Statements><StmtSimple>

</StmtSimple></Statements></Batch>
</BatchSequence></ShowPlanXML>'')';
GO

步驟 3:驗(yàn)證計(jì)劃指南是否適用于查詢(xún)

再次運(yùn)行查詢(xún),并檢查生成的查詢(xún)計(jì)劃。 您應(yīng)看到該計(jì)劃與您在計(jì)劃指南中指定的計(jì)劃相符。

【編輯推薦】

  1. SQL Server 2005常見(jiàn)問(wèn)題淺析
  2. 并行查詢(xún)讓SQL Server加速運(yùn)行
  3. SQL Server數(shù)據(jù)庫(kù)優(yōu)化經(jīng)驗(yàn)總結(jié)
責(zé)任編輯:彭凡 來(lái)源: MSDN
相關(guān)推薦

2010-10-11 09:05:40

SQL Server

2010-11-10 11:32:17

sql server計(jì)

2009-03-19 09:39:29

SQL Server數(shù)SQL ServerSQL Server

2012-11-22 14:38:44

Windows Azu

2009-04-08 09:29:34

SQL Server新特性Resource Go

2010-10-14 09:32:52

SQL Server

2010-05-13 10:00:10

SQL Server

2013-05-08 10:01:55

SQL Server 數(shù)據(jù)備份備份與還原

2011-08-19 11:00:54

SQL Server WaitFor命令

2011-08-19 11:10:54

SQL Server DBCC OPENTR會(huì)話查詢(xún)事務(wù)

2011-08-19 10:40:27

SQL Server Merge命令

2011-08-01 10:09:57

SSAS數(shù)據(jù)庫(kù)

2011-09-01 15:24:22

SQL Server 存儲(chǔ)過(guò)程調(diào)試

2009-04-27 14:48:44

2011-08-25 13:41:50

SQL Server 變更跟蹤

2010-09-10 08:54:02

2011-08-19 11:26:41

SQL Server 主密鑰

2009-04-16 17:55:55

SQL Server 空間數(shù)據(jù).NET

2010-10-21 10:42:30

SQL Server查

2010-07-19 10:55:07

SQL Server
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)