從sql server計劃緩存中清除查詢計劃
作者:佚名
清除查詢計劃是刪除計劃緩存中的所有元素中的重要方法步驟,下文以示例的形式為您演示了如何從sql server計劃緩存中清除查詢計劃,供您參考學(xué)習(xí)之用。
下面為您介紹的sql server計劃緩存所要清除的是查詢計劃,如果您在sql server計劃緩存方面遇到過類似的問題,不妨一看。
從sql server計劃緩存中清除查詢計劃:
以下示例通過指定查詢計劃句柄從sql server計劃緩存中清除查詢計劃。為了確保示例查詢在計劃緩存中,首先執(zhí)行該查詢。將查詢 sys.dm_exec_cached_plans 和 sys.dm_exec_sql_text 動態(tài)管理視圖以返回查詢的計劃句柄。然后,將結(jié)果集中的計劃句柄值插入 DBCC FREEPROCACHE 語句,以從計劃緩存中僅刪除該計劃。
- USE AdventureWorks;
- GO
- SELECT * FROM Person.Address;
- GO
- SELECT plan_handle, st.text
- FROM sys.dm_exec_cached_plans
- CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS st
- WHERE text LIKE N'SELECT * FROM Person.Address%';
- GO
下面是結(jié)果集:
- plan_handle text
- -------------------------------------------------- -----------------------------
- 0x060006001ECA270EC0215D05000000000000000000000000 SELECT * FROM Person.Address;
- (1 row(s) affected)
- Remove the specific plan from the cache.
- DBCC FREEPROCCACHE (0x060006001ECA270EC0215D05000000000000000000000000);
【編輯推薦】
責(zé)任編輯:段燃
來源:
互聯(lián)網(wǎng)