久久亚洲精品成人_国产精品欧美综合亚洲_亚洲va天堂va欧美ⅴa在线_91色视频在线观看_久久影院亚洲_一级黄色片播放_日韩av在线一区_精品一区二区在线看_老头吃奶性行交视频_日韩免费高清视频_天天操天天爽天天干_日本欧美在线视频

首頁 > 數據庫 > SQL Server > 正文

SQL Server性能調優之緩存

2024-08-31 01:04:46
字體:
來源:轉載
供稿:網友

在執行任何查詢時,SQL Server都會將數據讀取到內存,數據使用之后,不會立即釋放,而是會緩存在內存Buffer中,當再次執行相同的查詢時,如果所需數據全部緩存在內存中,那么SQL Server不會產生Disk IO操作,立即返回查詢結果,這是SQL Server的性能優化機制。

一,主要的內存消費者(Memory Consumer)

1,數據緩存(Data Cache)

Data Cache是存儲數據頁(Data Page)的緩沖區,當SQL Server需要讀取數據文件(File)中的數據頁(Data Page)時,SQL Server會把整個Page都調入內存(內存中的一個Page叫做buffer),Page是數據訪問的最小單元。

當用戶修改了某個Page上的數據時,SQL Server 會先在內存中修改Buffer,但是不會立即將這個數據葉寫回硬盤,而是等到CheckPoint或lazy Writer進程運行時集中處理。當用戶讀取某個Page后,如果SQL Server沒有內存壓力,它不會在內存中刪除這個Page,因為內存中的數據頁始終存放著數據的最新狀態,如果有其他用戶使用這個Page,SQL Server 不需要從硬盤中讀取一次,節省語句執行的時間。理想情況是SQL Server將用戶需要訪問的所有數據都緩存在內存中,SQL Server 永遠不需要去硬盤讀取數據,只需要在CheckPoint 或 lazy Write運行時把修改過的頁面寫回硬盤即可

2,查詢計劃緩存(Query Plan Cache)

存儲查詢語句和存儲過程的執行計劃,以供重用,而不需要重新編譯(Compile),因為編譯查詢語句產生執行計劃是一個非常耗費資源的過程。

二,查看內存消耗

在SQL Server中,只有內存書記員(Memory Clerk)能夠分配內存,Memory Clerk會記錄已經分配內存的數量,任何一個需要使用內存的對象,必須創建自己的Memory Clerk,并使用該Memory clerk來分配內存。

1,查看Memory clerk分配的內存量

select memory_node_id,  type, pages_kb, virtual_memory_reserved_kb, virtual_memory_committed_kb, shared_memory_reserved_kb, shared_memory_committed_kb, page_size_in_bytesfrom sys.dm_os_memory_clerks where type = 'MEMORYCLERK_SQLQERESERVATIONS'

對于內存結點64,只在DAC中使用。

2,統計Memory Clerk分配的內存總量

select mc.type,mc.name, sum(mc.pages_kb) as AllocatedPages_KB, sum(mc.virtual_memory_reserved_kb) as VM_Reserved_KB, sum(mc.virtual_memory_committed_kb) as VM_Committed_KB, --sum(mc.shared_memory_reserved_kb) as ShareMem_Reserved_KB, --sum(mc.shared_memory_committed_kb) as ShareMem_Committed_KB, max(mc.page_size_in_bytes)/1024 as SinglePageSize_KBfrom sys.dm_os_memory_clerks mcgroup by mc.type,mc.nameorder by AllocatedPages_KB desc,mc.type,mc.name

消耗內存較大的Clerk是:

  • MEMORYCLERK_SQLBUFFERPOOL:基本是Buffer Pool中page的大小
  • OBJECTSTORE_LOCK_MANAGER:鎖結構使用的內存,當發生嚴重的鎖阻塞時,這表明系統中,存儲大量鎖,造成鎖管理占用大量的內存;
  • CACHESTORE_OBJCP:觸發器和存儲過程等模塊(Module)的執行計劃占用的緩存空間;
  • CACHESTORE_SQLCP:動態TSQL語句,即席(Adhoc)查詢和預編譯(Prepared) TSQL的執行計劃緩存;
  • CACHESTORE_COLUMNSTOREOBJECTPOOL:列存儲索引(ColumnStore Index)占用的緩存

3,查看緩存中的數據頁

當數據頁從硬盤讀取到內存之后,該數據頁被復制到緩沖池(Buffer Pool),供SQL Server重用。每個緩存的數據頁都有一個緩存描述器(Buffer Descriptor),用戶唯一標識內存中的數據頁,在SQL Server實例中緩存的每一個數據頁,都能從 sys.dm_os_buffer_descriptors 查看緩存描述的信息。

select DB_NAME(bd.database_id) as dbname, OBJECT_NAME(p.object_id) as ObjectName, i.name as IndexName, count(0) as BufferCounts, sum(bd.free_space_in_bytes)/1024 as TotalFreeSpace_KB, cast(sum(bd.free_space_in_bytes)/(8*1024.0)/count(0) as decimal(10,4))*100 as FreeSpaceRatio, sum(cast(bd.is_modified as int)) as TotalDirtyPages, sum(bd.row_count) as TotalRowCountsfrom sys.allocation_units au inner join sys.dm_os_buffer_descriptors bd on au.allocation_unit_id=bd.allocation_unit_idinner join sys.partitions p  on au.container_id=p.hobt_idinner join sys.indexes i  on p.object_id=i.object_id and p.index_id=p.index_idinner join sys.objects o on p.object_id=o.object_idwhere bd.database_id=DB_ID(N'database_name') and o.type<>N'S'group by bd.database_id,p.object_id,i.name order by BufferCounts desc,dbname,ObjectName

4,查看計劃緩存

產生執行計劃是十分消耗CPU資源的,SQL Server會在內存的Plan Cache中存儲每個查詢計劃(Query Plan),及其占用的內存空間,重用次數等信息。

select cp.objtype,cp.cacheobjtype, sum(cp.size_in_bytes) as TotalSize_B, COUNT(cp.bucketid) as CacheCounts, sum(cp.refcounts) as TotalRefCounts, sum(cp.usecounts) as TotalUseCountsfrom sys.dm_exec_cached_plans cp group by cp.objtype,cp.cacheobjtypeorder by TotalSize_B desc

三,清空緩存

在調優存儲過程性能時,清空緩存是必需的,緩沖池(Buffer Pool)是SQL Server的緩存管理器,包含了SQL Server的絕大部分緩存數據(Cache),例如,執行計劃緩存(Plan cache),數據緩存(Data cache)等。

清空緩存常用的命令有如下三個:

CHECKPOINTDBCC DROPCLEANBUFFERSDBCC FREEPROCCACHE

Checkpoint和DBCC DROPCLEANBUFFERS 用于清理數據緩存(Data Cache)中的臟頁(dirty pages)和干凈頁(clean pages),而DBCC FREEPROCCACHE 用于清空所有的計劃緩存(Plan Cache)。

1,清空數據緩存

checkpoint 用于將臟頁(Dirty Pages)寫入硬盤,臟頁(Dirty Pages)是指數據頁讀入緩存后,被修改過,導致內存中數據頁和硬盤中的數據頁中的內容不同;干凈頁(Clean Pages)是指數據頁被讀入緩存后,沒有被修改過,所以,內存中的數據頁和硬盤中的數據頁中的內容相同。不管是Dirty pages 還是 Clean pages 都是Data Cache,在性能調優時,都必須從內存中清理掉,否則,查詢性能將忽略掉數據從硬盤加載到內存的IO消耗,影響查詢語句的執行情況。

CHECKPOINT 命令用于產生冷緩存(Cold buffer Cache),該命令將當前數據庫產生的所有臟頁寫入到硬盤,并清理內存buffer;在執行CHECKPOINT命令之后,執行 DBCC DROPCLEANBUFFERS 用于從緩沖池中清空所有的干凈頁。

在性能測試時,使用DBCC DROPCLEANBUFFERS從SQLSERVER的數據緩存池中清除所有的clean緩存數據,需要注意的是該命令只移走干凈的緩存,不移走臟緩存。因此,在執行這個命令前,應該先執行CheckPoint,將所有臟頁寫入磁盤,這樣在運行DBCC RROPCLEANBUFFERS 時,可以保證所有的數據緩存被清理,而不是其中的一部分。

2,清空計劃緩存

計劃緩存(Plan Cache)用于緩存查詢語句的執行計劃,每一條查詢語句在執行之后,其查詢計劃都會緩存Plan Cache中。在產品環境中,不要輕易清理掉Plan Cache。如果檢測到某個Plan Cache產生參數嗅探問題,導致性能十分低下,推薦修改查詢語句,重新編譯存儲過程,以單獨刷新該SP的計劃緩存。

DBCC FREEPROCCACHE [ ( { plan_handle | sql_handle} ) ]

計劃緩存,之前叫做過程緩存(procedure cache),執行DBCC FREEPROCCACHE 命令,釋放所有的計劃緩存,這回導致存儲過程,AdHoc 查詢等查詢必須重新編譯,產生新的計劃緩存。

四,強制重新編譯執行計劃

修改存儲過程,觸發器等模塊(Module)能夠使其執行計劃重新編譯,除此之外,還有其他方法,能夠強制重新編譯執行計劃

1,標記,下次重新編譯

使用該存儲過程,標記一個執行模塊(SP,Trigger,User-Defined Function)在下次執行時,重新編譯執行計劃

sys.sp_recompile [ @objname = ] 'object'

2,不復用執行計劃

在創建存儲過程時,使用WITH RECOMPILE 選項,在每次執行SP時,都重新編譯,使用新的執行計劃。

CREATE PROCEDURE dbo.usp_procname  @Parameter_Name varchar(30) = 'Parameter_default_value'WITH RECOMPILE

3,執行時重新編譯

在執行存儲過程時,重新編譯存儲過程的執行計劃

exec dbo.usp_procname @Parameter_name='Parameter_value' WITH RECOMPILE

4,語句級別的重新編譯

在SP中,使用查詢選項 option(recompile),只重新編譯該語句級別的執行計劃

select column_name_listfrom dbo.tablenameoption(recompile)

SQL Server在執行查詢之后,查詢提示(RECOMPILE)指示存儲引擎將計劃緩存拋棄,在下次執行存儲過程時,強制查詢優化器重新編譯,生成新的執行計劃。在重新編譯時,SQL Server 優化器使用當前的變量值生成新的計劃緩存。

附:

冷緩存,熱緩存,臟緩存和干凈緩存名詞解釋:

  • 凈緩存頁(Clean Buffer) 是指內存中未被修改的數據頁,DBCC DROPCLEANBUFFERS 用于從緩沖池(Buffer Pool)移除干凈頁,釋放Buffer。
  • 臟緩存頁(Dirty Buffer)是指數據頁在內存中被修改,但是還沒有寫入到硬盤中,導致硬盤中的數據不同于內存,通常情況下,臟頁通過CHECKPOINT進程來自動同步,CHECKPOINT 將臟頁數據寫入到硬盤中,使內存和硬盤文件中的數據保持一致,能夠減少數據還原的時間。
  • 冷緩存頁(Cold Buffer)是指,在數據處理階段,最近沒有被使用的緩存頁。
  • 熱緩存頁(Hot Buffer)是指,在數據處理階段,最近經常被使用的緩存頁。

參考文檔:

Recompile a Stored Procedure

What is a COLD, DIRTY or CLEAN Buffer

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持VeVb武林網!


注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产成人精品三级麻豆| 5g国产欧美日韩视频| 久久91精品国产91久久小草| 日韩精品中文字幕一区 | 日韩 欧美 自拍| 懂色av一区二区三区四区五区| xxxxxx黄色| 成人精品gif动图一区| 久久精品91久久久久久再现| 古装做爰无遮挡三级聊斋艳谭| 久久久久无码国产精品| 一区二区三区免费看视频| 国产日韩亚洲精品| 亚洲大尺度在线观看| 精品国产伦理网| 怡红院亚洲色图| 91在线视频在线| 久久99精品久久久久久久青青日本| www精品美女久久久tv| 国产精品一区久久久| 无码人妻久久一区二区三区| 欧美一区二区观看视频| 牛夜精品久久久久久久| 一级精品视频在线观看宜春院| 国产精品波多野结衣| 久久一区二区三区四区五区 | 成年人在线观看视频免费| 日韩精品一二区| 成人在线观看视频网站| 刘亦菲久久免费一区二区| 高清在线视频日韩欧美| 国产一级视频在线观看| 亚洲三级av在线| 亚洲午夜18毛片在线看| 色中色综合影院手机版在线观看| 香蕉视频一区二区| 精品88久久久久88久久久| 无码国产精品久久一区免费| 在线免费观看日本一区| 亚洲熟妇无码一区二区三区| 国产精品美女www爽爽爽| 理论片中文字幕| 国产精选久久久久久| 国内免费精品视频| 9191成人精品久久| 久久发布国产伦子伦精品| 欧美性猛交xxxx富婆| 国产一级二级在线观看| 欧美精品v国产精品v日韩精品| 欧美成人精品一区二区综合免费| 精品视频1区2区3区| 伊人影院综合网| 尤物yw午夜国产精品视频明星| 星空大象在线观看免费播放| 日韩电视剧免费观看网站| 波多野结衣亚洲色图| 色综合久久久久久中文网| 99热这里只有精品5| 国产欧美日韩亚洲| 26uuu色噜噜精品一区二区| 国产乱子伦农村叉叉叉| 欧美日韩国产色| 国模私拍视频在线观看| 亚洲愉拍自拍另类高清精品| 天天综合狠狠精品| 悠悠色在线精品| 成人无码av片在线观看| 国产精品流白浆视频| 国产一区三区三区| 999久久久精品视频| 少妇高潮久久77777| 精品一区二区三区在线视频| 777一区二区| 久久久一区二区三区捆绑**| 手机精品视频在线| 久久电影一区二区| 免费在线观看成人| 91视频国产高清| 91视频福利网| 亚洲777理论| 国产一级淫片a视频免费观看| 91视频国产精品| 国产麻豆精品95视频| 国产精品自拍视频在线| 尤物精品国产第一福利三区| 国产福利一区二区三区在线视频| 久久亚洲a v| 中文字幕不卡在线视频极品| 韩国v欧美v日本v亚洲v| 91精品人妻一区二区三区四区| 欧美激情一区二区三区高清视频| 26uuu亚洲综合色欧美| 欧美一级特黄高清视频| 亚洲午夜在线观看| 一区二区中文字幕| 亚洲国产精华液网站w| 国产精品视频123| 操人视频免费看| 97视频免费看| 欧美唯美清纯偷拍| 精品国产九九九| 五月天婷婷在线观看视频| 亚洲天堂网在线观看| 久久久久国产成人精品亚洲午夜| 国产裸体视频网站| 久久国产精品 国产精品| 亚洲国产小视频在线观看| 国产精品久久福利| 久久久久99| 亚洲精品91天天久久人人| 黄色a一级视频| 日韩精品视频久久| 日本成人黄色| 成人亚洲综合色就1024| 色一区av在线| 亚洲精品日韩一| 粉嫩蜜臀av国产精品网站| 中文字幕观看在线| 97人妻人人揉人人躁人人| 色综合手机在线| 欧美精品一区二区性色a+v| 欧美亚洲一级片| 欧美午夜片欧美片在线观看| 蜜桃视频在线观看一区| 亚洲xxxx3d动漫| 久草视频福利在线| 久久综合久久色| 狠狠干视频网站| 久久精品国产精品亚洲精品色| 国产精品国产精品| 91在线中文字幕| 国产区精品视频| 成人信息集中地欧美| 国产精品第二页| 国产精品视频yy9099| 中文字幕国产精品久久| 亚洲欧洲日产国产网站| 亚洲片国产一区一级在线观看| 欧美影院精品一区| 精品视频一区二区三区免费| 欧美日韩亚洲高清一区二区| 亚洲桃色在线一区| 高清国产一区二区三区| 国产最新精品免费| 欧美日韩精品区| 在线小视频你懂的| 四虎影视一区二区| 午夜爽爽爽男女免费观看| 日韩综合第一页| 中文字幕一区三区久久女搜查官| 午夜性福利视频| 极品蜜桃臀肥臀-x88av| 免费毛片在线播放免费| 欧美三日本三级少妇99| 国产情侣自拍av| 久久精品三级视频| 久久久久久福利| 最新中文字幕免费| 青青草视频在线观看免费| 国产免费www| 亚洲精品911| 国产一区二区三区在线观看精品| 97人妻人人澡人人爽人人精品| 乱子伦一区二区三区| 国产精品一区二区黑人巨大| 日本高清视频免费观看| 国产精品成人久久久| 免费国产羞羞网站视频| 亚洲一区二区人妻| 精品在线一区二区| 欧美国产综合色视频| 欧美写真视频网站| 精品国产一区二区三区在线观看 | 最新国产中文字幕| 蜜臀av性久久久久av蜜臀妖精| 中文字幕一区在线| 亚洲第一页中文字幕| 国产又黄又爽免费视频| 日韩亚洲国产中文字幕| 91黑丝高跟在线| 污污污污污污www网站免费| 国产一线在线观看| 97人妻一区二区精品视频| 久久国产精品无码网站| 一区二区三区高清不卡| 欧美三级日韩三级| 色诱女教师一区二区三区| 精品国产一区二区三区久久久狼 | 右手影院亚洲欧美| 国产综合在线播放| 婷婷久久综合九色综合绿巨人 | 狠狠色狠狠色综合系列| 日韩丝袜美女视频| 成人免费视频视频在| 午夜老司机精品| 九九九在线视频| 国产拍揄自揄精品视频麻豆| 亚洲激情久久久| 五月婷婷综合色| 欧美一区免费观看| 久久久电影一区二区三区| 精品视频久久久久久| 激情视频一区二区| 国产黄色小视频网站| 久久先锋资源网| 综合网中文字幕| 国产一级免费大片| 黄色一级大片在线免费看国产一| 日韩一区二区在线免费观看| 日韩女优在线播放| 精品影片一区二区入口| 99久久精品99国产精品| 亚州国产精品久久久| 亚洲欧美va天堂人熟伦| 亚洲精品午夜久久久| 91精品啪在线观看麻豆免费 | 狠狠躁天天躁日日躁欧美| 欧美视频一区二| 国产一区二区三区久久精品| 日本中文字幕网址| 伊人网中文字幕| 在线影院国内精品| 五月天国产一区| 中文字幕亚洲欧美日韩| 久久久久成人黄色影片| 日韩美女在线观看| 成人性生交大片免费看无遮挡aⅴ| 国产99精品视频| 性金发美女69hd大尺寸| 国产在线综合视频| 国产女主播视频一区二区| 国产精品日韩精品| 中文字幕高清在线免费播放| 欧美丰满嫩嫩电影| 在线看无码的免费网站| 不卡视频在线播放| 亚洲午夜久久久久久久| 亚洲精品视频三区| av在线免费不卡| 国产精品99导航| 日韩免费av网站| 亚洲人成网站777色婷婷| 水蜜桃av无码| 欧美群妇大交群的观看方式| 免费看又黄又无码的网站| 全部av―极品视觉盛宴亚洲| 国产成人综合av| 天堂网在线观看视频| 黄色一区二区三区| 大肉大捧一进一出好爽视频| 男人的天堂久久精品| 91在线观看免费高清完整版在线观看| 黄色大片网站在线观看| 久久精品成人一区二区三区| 天堂av网手机版| 欧美精品一区男女天堂| 日韩亚洲欧美中文字幕| 日韩视频中午一区| 欧美88888| 精品国产一区二区在线| 久久久久无码国产精品不卡| 欧美激情xxxxx| 国产精品自产拍| 国产精品免费在线免费| aaaaaa毛片| 国产精品日韩在线观看| 水野朝阳av一区二区三区| 国产精品美女久久久久av福利| 日韩成人午夜电影| 欧美福利一区二区三区| a亚洲天堂av| 久久综合伊人77777麻豆最新章节| 中文字幕在线不卡国产视频| 亚洲色图久久久| 色狠狠色狠狠综合| 国产精品免费观看久久| 色综合天天综合网天天狠天天| 人妻 丝袜美腿 中文字幕| 亚洲欧美日韩国产精品| 亚洲国产日韩在线观看| 制服国产精品| 一区二区三区视频在线看| 少妇大叫太粗太大爽一区二区| 色噜噜国产精品视频一区二区 | 国产伦精品一区二区三区四区视频 | 欧美日韩亚洲另类| 免费黄在线观看| 4438全国亚洲精品在线观看视频| 韩国三级中文字幕hd久久精品| 成人免费观看视频在线观看| 欧美一级片在线| 国产精品揄拍100视频| 久久精品男人天堂| 亚洲av毛片成人精品| 激情六月丁香婷婷| 日韩欧美色综合网站| 日韩精品一区二区不卡| 久久久久久久久久久久久久一区 | 精品国产乱码久久久久久鸭王1| 成人信息集中地欧美| 欧美日韩黄色大片| 日本中文字幕在线免费观看| 熟女熟妇伦久久影院毛片一区二区| 91精品国产一区二区三区香蕉| 东京干手机福利视频| 久久久精品人妻一区二区三区| 九九热精品在线| 夫妻av一区二区| 日本一区二区视频在线播放| 国产精品久久久久久久久粉嫩av| 亚洲男女一区二区三区| 国产原创中文av| 四虎国产精品永久免费观看视频| 97国产精品视频| 一区二区在线看| 久久综合影视| 99精品久久久久| 女同性恋一区二区| 88xx成人精品| 麻豆精品一区二区| 91香蕉视频污在线观看| 在线国产精品网| 国产69精品久久久久9| 欧美色涩在线第一页| 韩国成人精品a∨在线观看| 亚洲欧美精品aaaaaa片| 99精品视频在线看| 91九色蝌蚪国产| 日韩一区二区视频在线观看| 国产精品国模大尺度视频| 免费观看国产视频| 日韩欧美中文字幕一区二区| 91香蕉视频免费看| 日韩久久不卡| 午夜精品视频网站| 欧美日韩久久久| 国产亚洲精品资源在线26u| 人妻丰满熟妇av无码区hd| av在线播放中文字幕| 欧日韩免费视频| 日韩精品欧美在线| 国产精品一区久久| 欧美成人免费一级人片100| 在线观看成人免费视频| 国产精品嫩草影院com| 国产精品一区二区免费不卡 | 3d动漫啪啪精品一区二区免费| 亚洲欧洲中文日韩久久av乱码| 日韩电影在线看| jizz国产在线| 日韩毛片在线视频| 亚洲国产日韩欧美在线观看| 欧洲精品视频在线| 国产精品日本一区二区| 日韩av免费一区| 91精品国产亚洲| 在线亚洲国产精品网| 日韩av在线免费观看| 亚洲激情第一页| 欧美片网站yy| 亚洲丝袜另类动漫二区| 美女一区二区久久| 日韩av免费播放| 青青草视频在线观看免费| 日韩免费一二三区| 日韩伦人妻无码| 无码人妻丰满熟妇区五十路| 波兰性xxxxx极品hd| av在线播放中文字幕| 欧美成人精品欧美一| www.国产成人| 中文字幕在线日亚洲9| 日本免费精品视频| 国产麻豆免费视频| 国产熟女一区二区三区四区| 国产免费视频一区二区三区| 久久亚洲色图| 免费国产亚洲视频| 国产成a人亚洲| 国产精品午夜电影| 日韩精品一级中文字幕精品视频免费观看 | av一区二区三区四区| 中文字幕日韩av资源站| 日韩欧中文字幕| 日韩av中文字幕在线免费观看| 久久视频在线播放| 69影院欧美专区视频| 国产一区二区三区免费不卡| 亚洲成人a**址| 欧美精品色婷婷五月综合| 99久久免费看精品国产一区| 国产在线视频卡一卡二| 五月婷婷六月丁香| 国产美女视频91| 一区二区三区在线播| 亚洲成人动漫在线播放| 中文字幕在线观看亚洲| 99re在线观看| 在线观看免费的av| 日韩欧美不卡视频| 久久超碰97中文字幕| 欧美性xxxxxxxx| 3d动漫精品啪啪一区二区竹菊| 亚洲视频一二三区| 中文字幕在线不卡视频| 欧美巨大另类极品videosbest | aaaa黄色片| 欧美一级片在线视频| 亚洲av电影一区| 国产精品麻豆一区二区|