精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SQL Server 執行計劃緩存

數據庫 SQL Server
了解執行計劃對數據庫性能分析很重要,其中涉及到了語句性能分析與存儲,這也是寫這篇文章的目的,在了解執行計劃之前先要了解一些基礎知識,所以文章前面會講一些概念,學起來會比較枯燥,但是這些基礎知識非常重要。

概述

了解執行計劃對數據庫性能分析很重要,其中涉及到了語句性能分析與存儲,這也是寫這篇文章的目的,在了解執行計劃之前先要了解一些基礎知識,所以文章前面會講一些概念,學起來會比較枯燥,但是這些基礎知識非常重要。

基礎概念

SQL Server 有一個用于存儲執行計劃和數據緩沖區的內存池。池內分配給執行計劃或數據緩沖區的百分比隨系統狀態動態波動。內存池中用于存儲執行計劃的部分稱為過程緩存。

SQL Server 執行計劃包含下列主要組件:

查詢計劃

執行計劃的主體是一個重入的只讀數據結構,可由任意數量的用戶使用。這稱為查詢計劃。查詢計劃中不存儲用戶上下文。內存中查詢計劃副本永遠不超過兩個:一個副本用于所有的串行執行,另一個用于所有的并行執行。并行副本覆蓋所有的并行執行,與并行執行的并行度無關。

執行上下文

每個正在執行查詢的用戶都有一個包含其執行專用數據(如參數值)的數據結構。此數據結構稱為執行上下文。執行上下文數據結構可以重新使用。如果用戶執行查詢而其中的一個結構未使用,將會用新用戶的上下文重新初始化該結構。

怎樣緩存執行計劃

SQL Server 有一個高效的算法,可查找用于任何特定 SQL 語句的現有執行計劃。在 SQL Server 中執行任何 SQL 語句時,關系引擎將首先查看過程緩存中是否有用于同一 SQL 語句的現有執行計劃。SQL Server 將重新使用找到的任何現有計劃,從而節省重新編譯 SQL 語句的開銷。如果沒有現有執行計劃,SQL Server 將為查詢生成新的執行計劃。

SQL Server自動刪除執行計劃

什么情況下會刪除執行計劃

在沒有人工手動清除緩存的情況下,如果出現內存不足的情況下SQL Server會自動清除一部分沒被利用到的緩存計劃。

所有緩存的***大小取決于max server memory的大小。

怎樣判斷需要刪除的執行計劃

如果存在內存不足的情況,數據庫引擎將使用基于開銷的方法來確定從過程緩存中刪除哪些執行計劃。怎樣確定一個執行計劃的開銷呢,對于一個***次執行的執行計劃SQL Server將它的開銷值設為0,被多次執行過的執行計劃SQL Server將它的開銷值設置為原始編譯開銷,所以數據庫引擎會重復檢查每個執行計劃的狀態并將刪除當前開銷為零的執行計劃。如果存在內存不足的情況,當前開銷為零的執行計劃不會自動被刪除,而只有在數據庫引擎檢查該執行計劃并發現其當前開銷為零時,才會刪除該計劃。當檢查執行計劃時,如果當前沒有查詢使用該計劃,則數據庫引擎將降低當前開銷以將其推向零。

數據庫引擎會重復檢查執行計劃,直至刪除了足夠多的執行計劃,以滿足內存需求為止。如果存在內存不足的情況,執行計劃可多次對其開銷進行增加或降低。如果內存不足的情況已經消失,數據庫引擎將不再降低未使用執行計劃的當前開銷,并且所有執行計劃都將保留在過程緩存中,即使其開銷為零也是如此。

重新編譯執行計劃

根據數據庫新狀態的不同,數據庫中的某些更改可能導致執行計劃效率降低或無效。SQL Server 將檢測到使執行計劃無效的更改,并將計劃標記為無效。此后,必須為執行查詢的下一個連接重新編譯新的計劃。導致計劃無效的情況包括:

  • 對查詢所引用的表或視圖進行更改(ALTER TABLE 和 ALTER VIEW)。
  • 對執行計劃所使用的任何索引進行更改。
  • 對執行計劃所使用的統計信息進行更新,這些更新可能是從語句(如 UPDATE STATISTICS)中顯式生成,也可能是自動生成的。
  • 刪除執行計劃所使用的索引。
  • 顯式調用 sp_recompile。
  • 對鍵的大量更改(其他用戶對由查詢引用的表使用 INSERT 或 DELETE 語句所產生的修改)。
  • 對于帶觸發器的表,插入的或刪除的表內的行數顯著增長。
  • 使用 WITH RECOMPILE 選項執行存儲過程。

#p#

測試

 

  1. --1.緩存的每一個對象返回一行,包括緩存計劃的類型、緩存引用的對象、緩存計劃占用的空間、被使用次數、以及創建時間等 
  2. SELECT * FROM sys.syscacheobjects; 
  3. --2.緩存的每個查詢計劃返回一行,包括執行計劃被使用的次數、執行計劃的大小、內存地址、執行計劃的類型、語句等 
  4. SELECT * FROM sys.dm_exec_cached_plans; 
  5. GO 
  6. ---3.返回由指定的 sql_handle 標識的 SQL 批處理的文本 
  7. /*其中sql_handle來自: 
  8. sys.dm_exec_query_stats 
  9. sys.dm_exec_requests 
  10. sys.dm_exec_cursors 
  11. sys.dm_exec_xml_handles 
  12. sys.dm_exec_query_memory_grants 
  13. sys.dm_exec_connections 
  14. plan_handle來自:sys.dm_exec_cached_plans 
  15. */  
  16. SELECT * FROM sys.dm_exec_sql_text(sql_handle | plan_handle); 
  17. GO 
  18. --4.以 XML 格式返回計劃句柄指定的批查詢的顯示計劃,主要接受來自sys.dm_exec_cached_plans的plan_handle句柄 
  19. SELECT * FROM sys.dm_exec_query_plan(plan_handle); 
  20. GO 
  21. --5.每個計劃屬性返回一行,主要接受來自sys.dm_exec_cached_plans的plan_handle句柄 
  22. SELECT * FROM sys.dm_exec_plan_attributes(plan_handle); 
  23. GO 
  24. --6.針對每個 Transact-SQL 執行計劃、公共語言運行時 (CLR) 執行計劃和與計劃關聯的游標返回一行,,主要接受來自sys.dm_exec_cached_plans的plan_handle句柄 
  25. SELECT * FROM sys.dm_exec_cached_plan_dependent_objects(plan_handle); 
  26.  
  27. --7.返回緩存查詢計劃的聚合性能統計信息。緩存計劃中的每個查詢語句在該視圖中對應一行,并且行的生存期與計劃本身相關聯。在從緩存刪除計劃時,也將從該視圖中刪除對應行。*/ 
  28. --該系統視圖針對每一個緩存中的執行計劃統計其執行時間、物理、邏輯操作等信息 
  29. SELECT * FROM sys.dm_exec_query_stats 

 

 

手動清空緩存執行計劃

  1. ---清空制定數據庫執行計劃 
  2. DECLARE @DBID INT 
  3. SET @DBID=DB_ID() 
  4. DBCC FLUSHPROCINDB(@DBID); 
  5. GO 
  6.  
  7. ---創建測試數據庫 
  8. CREATE TABLE TPlan 
  9. (ID INT PRIMARY KEY IDENTITY(1,1), 
  10. Name NVARCHAR(20) NOT NULL
  11. Istate INT NOT NULL
  12. Idate DATETIME DEFAULT(GETDATE()) 
  13. GO 
  14. ---創建索引 
  15. CREATE INDEX IX_TPlan_NAME ON TPlan 
  16. (Name 
  17. GO 
  18. INSERT INTO TPlan(Name,Istate) 
  19. VALUES('1',1),('2',2),('3',3) 
  20.  
  21. GO 
  22. SELECT NAME FROM TPlan 
  23. GO 
  24. SELECT Cacheobjtype,objtype,dbid,objid,usecounts,pagesused,sql FROM sys.syscacheobjects 
  25. WHERE DBID=DB_ID() 

使用Profiler監控

使用SQL:StmtRecompile監控,如果是監控存儲過程則使用:SP:Recompile

 

修改索引

在索引中添加字段

  1. DROP INDEX [IX_TPlan_NAME] ON [dbo].[TPlan] WITH ( ONLINE = OFF ) 
  2. GO 
  3. USE [Study] 
  4. GO 
  5. CREATE NONCLUSTERED INDEX [IX_TPlan_NAME] ON [dbo].[TPlan]  
  6.     [NameASC 
  7. INCLUDE ( [Istate]) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR = 90) ON [PRIMARY
  8. GO 

 

再執行查詢

  1. SELECT NAME FROM TPlan 

SQL Server 執行計劃緩存

測試增加字段對執行計劃的影響

增加查詢非相關字段

  1. ALTER TABLE [dbo].[TPlan] 
  2. ADD Number INT 

SQL Server 執行計劃緩存

刪除查詢有關的索引也同樣會導致執行計劃重編譯,這里就不截圖貼出來了。

查看執行計劃

  1. SELECT Cacheobjtype,objtype,dbid,objid,usecounts,pagesused,sql FROM sys.syscacheobjects 
  2.  
  3. WHERE DBID=DB_ID() 

執行計劃中顯示了該執行計劃被調用了兩次,在隨機叢書中寫的是會重新編譯新的執行計劃,如果是這樣的話那這里的值應該是1才對。

 

SQL Server 執行計劃緩存

猜測:SQL Server在架構更改的時候通過檢測執行計劃已經對原先的執行計劃進行了編譯,所以在新的查詢中還是使用了***次查詢的執行計劃。

博文地址:http://www.cnblogs.com/chenmh/archive/2015/04/20/4438086.html
 

責任編輯:Ophira 來源: cnblogs
相關推薦

2011-09-14 17:03:17

數據庫執行計劃解析

2014-08-28 09:54:35

SQL Server

2009-11-18 17:05:47

捕獲Oracle SQ

2011-08-18 09:19:19

SQL Server的SQL查詢優化

2010-11-10 11:32:17

sql server計

2021-03-17 09:35:51

MySQL數據庫explain

2023-09-21 10:55:51

MysqlSQL語句

2021-05-28 10:46:36

MySQL執行計劃

2024-06-12 09:23:37

2010-11-04 14:25:19

DB2 SQL文執行計

2011-09-13 15:39:00

SQL Server性能調優

2021-12-13 22:15:29

SQLOracle共享池

2010-11-04 14:35:38

DB2 sql文執行計

2022-08-08 08:03:44

MySQL數據庫CBO

2009-11-13 16:28:02

Oracle生成執行計

2024-09-12 15:16:14

2010-04-16 09:27:18

Ocacle執行計劃

2021-02-20 08:40:19

HiveExplain底層

2021-04-24 12:01:08

MySQL數據庫Mysql執行計劃

2020-09-15 08:44:57

MySQL慢日志SQL
點贊
收藏

51CTO技術棧公眾號

日本二区三区视频| 91小视频网站| 毛片在线免费| 久久超级碰视频| 色综合男人天堂| 亚洲一区二区三区四区五区六区 | 国产欧美日韩精品一区二区免费| 色婷婷综合久久久中文一区二区| 香蕉精品视频在线| 婷婷在线免费视频| 久久99精品一区二区三区| 午夜精品福利电影| 欧美性生给视频| 亚洲影院天堂中文av色| 91精品国产色综合久久ai换脸| 黄页网站大全在线观看| 99re在线视频| www.日韩av| 成人久久一区二区| 国产精品久免费的黄网站| 天天射成人网| 亚洲人在线观看| 91精品国产高清91久久久久久| 欧美寡妇性猛交xxx免费| 国产欧美一区二区精品秋霞影院 | 一区二区三区视频网| 欧美aaaaaaa| 国产精品传媒在线| 欧洲一区二区日韩在线视频观看免费| 美女三级99| 欧美伦理视频在线观看| 暧暧视频在线免费观看| 中文字幕一区二区视频| 清纯唯美一区二区三区| 少妇人妻偷人精品一区二区| 国产一区二区三区久久久 | 久久久久久久久久免费视频| 亚洲一区色图| 日韩天堂在线视频| 午夜在线观看一区| 亚洲综合图色| 亚洲精品日韩丝袜精品| 在线天堂www在线国语对白| 51亚洲精品| 日韩欧美视频在线| 在线观看免费看片| 中文幕av一区二区三区佐山爱| 91黄色免费看| 88av.com| 久久av影院| 欧美色图12p| 亚洲综合欧美激情| 成人国产激情在线| 欧美三电影在线| 一区二区xxx| 成人在线免费av| 欧美在线观看视频一区二区三区| 亚洲熟女乱色一区二区三区| 亚洲欧美小说色综合小说一区| 精品国产999| 337p粉嫩大胆噜噜噜鲁| 涩涩视频在线播放| 一本大道久久a久久综合婷婷| 青青艹视频在线| 中文字幕成在线观看| 福利视频导航一区| 黑鬼大战白妞高潮喷白浆| 午夜激情在线播放| 在线区一区二视频| 可以看污的网站| 国产精品视频一区视频二区| 日韩三级高清在线| av av在线| 色婷婷精品视频| 亚洲天堂精品在线| 乱老熟女一区二区三区| 亚洲精品一二三区区别| 欧美黑人巨大精品一区二区| 日韩免费黄色片| 日韩精品免费专区| 91影视免费在线观看| 免费看黄网站在线观看| 久久久亚洲欧洲日产国码αv| 日本午夜精品一区二区| 香港伦理在线| 亚洲一区视频在线观看视频| 国产老熟妇精品观看| 男人最爱成人网| 欧美精选一区二区| jjzzjjzz欧美69巨大| 美女久久久久| 久久九九热免费视频| 日韩成人av毛片| 日韩高清电影一区| 91丝袜脚交足在线播放| 手机亚洲第一页| 国产精品成人免费在线| 国产一二三在线视频| 东京一区二区| 欧美一级在线免费| 国产交换配乱淫视频免费| 93在线视频精品免费观看| 欧美黑人一区二区三区| 波多野结衣网站| 国产精品亚洲一区二区三区在线| 欧美aaaaa喷水| 国产欧美久久久久久久久| 久久婷婷蜜乳一本欲蜜臀| 国产欧美日韩另类一区| 糖心vlog在线免费观看| 成人欧美magnet| 日韩欧美123| 欧美自拍偷拍网| 激情文学一区| 成人福利在线观看| 美州a亚洲一视本频v色道| 一区二区三区日韩| av在线网址导航| 亚洲香蕉视频| 国外视频精品毛片| 国产免费久久久| 国产色爱av资源综合区| 久久久久久www| 电影91久久久| 中文字幕日韩免费视频| 成人精品在线看| 国产精品中文字幕日韩精品| 日韩欧美电影一区二区| 多野结衣av一区| 精品少妇一区二区三区视频免付费| 精品人伦一区二区| 欧美综合二区| 久久综合九色欧美狠狠| 9999热视频在线观看| 日韩视频免费观看高清完整版| 国产7777777| 久久先锋资源| 欧美一卡2卡3卡4卡无卡免费观看水多多| 人人澡人人添人人爽一区二区| 欧美日韩亚洲丝袜制服| 日韩免费成人av| 日韩影院免费视频| 欧美一区免费视频| 欧美国产大片| 亚洲九九九在线观看| 97免费在线观看视频| 不卡的看片网站| 国产原创popny丨九色| 大奶在线精品| 97在线观看视频| 天堂а√在线8种子蜜桃视频 | 欧美天堂一区二区| 一区二区成人精品| 久久精品偷拍视频| 日本一区二区成人在线| 中文字幕亚洲乱码| 91麻豆精品国产91久久久平台| 国产精品丝袜白浆摸在线 | 99久久国产宗和精品1上映| 亚洲aa在线| 国产精品吊钟奶在线| 成黄免费在线| 欧美日韩精品一区二区三区蜜桃 | 91激情五月电影| 成人性生交大片免费看无遮挡aⅴ| 欧美aⅴ一区二区三区视频| 亚洲欧洲精品一区二区| 国产在线不卡一区二区三区| 久久亚洲国产成人| 亚洲国产精彩视频| 婷婷中文字幕一区三区| 久久精品一区二区免费播放| 视频一区国产视频| 一本二本三本亚洲码| 日韩中文字幕视频网| 91精品国产成人www| 六十路在线观看| 欧美日韩一区不卡| 免费在线一区二区三区| 91小视频在线观看| 91福利国产成人精品播放| 天堂网在线观看国产精品| 国产精品区一区二区三含羞草| 性欧美又大又长又硬| 在线观看欧美日韩| 亚洲第一天堂网| 一本久久综合亚洲鲁鲁五月天 | 亚洲电影一级黄| 青娱乐国产视频| 丁香婷婷综合激情五月色| 999香蕉视频| 欧美aⅴ99久久黑人专区| 久久国产精品精品国产色婷婷 | av在线不卡观看| 欧美xxx网站| 欧美丰满少妇xxxxx| 国产午夜精品一区理论片| 日韩一区二区在线免费观看| 九九九在线观看| 亚洲色图一区二区三区| 特级西西人体4444xxxx| 狠狠色狠狠色综合日日91app| 日韩av高清在线看片| 91视频久久| 久久九九视频| 日韩一区二区三区精品视频第3页| 日韩美女视频在线观看| 国产99re66在线视频| 中文字幕日韩在线视频| 污视频网站免费观看| 欧美精品高清视频| 国产在线观看黄色| 尤物av一区二区| 国产又粗又长又黄的视频| 99视频精品免费视频| 中文国产在线观看| 日韩不卡一区二区| 成人综合视频在线| 极品少妇一区二区三区| 最新精品视频| 日韩精品不卡一区二区| 另类小说综合网| 999久久久久久久久6666| 成人黄色免费看| 草莓视频成人appios| 欧美专区日韩视频| 白浆在线视频| 欧美激情网友自拍| 午夜羞羞小视频在线观看| xxx欧美精品| av在线二区| 国产亚洲综合久久| 国产免费av在线| 亚洲欧洲成视频免费观看| 亚洲欧美国产高清va在线播放| 欧美一区日韩一区| 国产又粗又猛视频免费| 欧美在线你懂得| 国产一级片免费在线观看| 黄色一区二区在线观看| 国产无遮挡又黄又爽又色| 一区二区三区在线免费播放 | 欧美日韩激情视频8区| 国产性一乱一性一伧一色| 伊人一区二区三区| 欧美极品aaaaabbbbb| 亚洲精品日产精品乱码不卡| 乱h高h女3p含苞待放| 亚洲视频精选在线| 老女人性淫交视频| 一区二区不卡在线播放| 欧美黄色一级网站| 亚洲一卡二卡三卡四卡五卡| 国产性生活网站| 亚洲成av人片在线| 国产乡下妇女做爰| 欧美午夜www高清视频| 手机在线看片1024| 欧美日韩在线三区| 国产日韩精品suv| 日韩欧美成人激情| 日本精品久久久久| 精品亚洲一区二区三区在线观看| 色视频在线观看福利| 亚洲亚裔videos黑人hd| 在线免费看黄| 欧美人与物videos| 黄色在线观看www| 国产成人在线一区二区| 久久91超碰青草在哪里看| 91久久中文字幕| 北条麻妃一区二区三区在线| 鲁丝一区鲁丝二区鲁丝三区| 精品国产一区二区三区| 欧美爱爱视频网站| 黄色成人av网站| 91蝌蚪视频在线观看| 国产一区二三区好的| 欧美xxxxx少妇| 国产网站一区二区| 欧美日韩免费做爰视频| 欧美日韩国产精品一区| 午夜精品久久久久久久蜜桃| 69av一区二区三区| 天天躁日日躁狠狠躁伊人| 国产亚洲欧洲在线| 成人在线免费看黄| 91国产视频在线| 国产精品久久久久77777丨| 成人91免费视频| 精品国产91| 无码粉嫩虎白一线天在线观看| 久久久久久9| 交换做爰国语对白| 久久精品无码一区二区三区| 极品久久久久久| 色综合久久久久久久久久久| 国产女人爽到高潮a毛片| 日韩电影中文字幕| а√中文在线8| 日本精品久久久| 久久国产精品美女| 欧美一区二区三区电影在线观看| 中文精品久久| 男女爽爽爽视频| 成人91在线观看| 三级av在线免费观看| 日韩欧美国产视频| 亚洲经典一区二区三区| 综合136福利视频在线| sm久久捆绑调教精品一区| 成人午夜高潮视频| 精品久久影视| 欧美亚洲另类色图| 成人在线视频首页| 国产精品 欧美激情| 欧美熟乱第一页| 日韩a在线观看| 久久欧美在线电影| 欧美专区一区| 在线免费一区| 日产欧产美韩系列久久99| 黄色污在线观看| 亚洲精品va在线观看| 一区二区三区亚洲视频| 在线观看亚洲区| 欧美性xxx| 久久精品国产一区二区三区不卡| 欧美精选在线| www.日本一区| 欧美激情一区二区三区全黄| 成人午夜视频在线播放| 亚洲国产毛片完整版| 欧美性猛片xxxxx免费中国 | 窝窝社区一区二区| 午夜免费福利小电影| 国产成人免费网站| 国产女片a归国片aa| 欧美军同video69gay| 午夜在线小视频| 国产在线拍偷自揄拍精品| 日韩一区自拍| 精品久久久99| **欧美大码日韩| 91福利免费视频| 久久九九精品99国产精品| 二区三区精品| 最新av网址在线观看| 成人一区二区在线观看| 国产一级一片免费播放放a| 精品国一区二区三区| 久久香蕉av| 精品欧美国产| 久久久久久一区二区| 亚洲精品国产91| 欧美日韩一区二区三区不卡| 日本在线观看免费| 91香蕉亚洲精品| 欧美不卡视频| 久久久久亚洲无码| 黑人与娇小精品av专区| 欧美日韩国产综合视频| 国产精品高潮粉嫩av| 欧美激情黄色片| 国产伦精品一区二区三区妓女下载| 亚洲激情综合网| 亚洲aⅴ乱码精品成人区| 国产成人一区二| 亚洲91中文字幕无线码三区| 男生和女生一起差差差视频| 午夜精品久久久久久久99樱桃| 你懂的在线观看| 91精品一区二区| 亚洲第一伊人| 阿v天堂2014| 欧美一区中文字幕| 自拍网站在线观看| 一卡二卡3卡四卡高清精品视频| 国产精品一区二区久激情瑜伽 | 黄色成年人视频在线观看| 超碰97人人人人人蜜桃| 天堂一区二区在线| 国产真实乱在线更新| 亚洲精品suv精品一区二区| 激情欧美一区二区三区黑长吊| 超薄肉色丝袜足j调教99| 久久综合色之久久综合| 一二三区在线播放| 午夜精品理论片| 国产高清一区| 精品中文字幕在线播放| 欧美日本不卡视频| 美女91在线看| 手机在线视频你懂的| 91在线视频观看| 精品国产无码AV| 国产精品美女久久| 亚洲国产三级| www深夜成人a√在线| 亚洲视频在线观看|