MSSQL內(nèi)存架構(gòu)及管理是怎樣的

本篇文章給大家分享的是有關(guān)MSSQL內(nèi)存架構(gòu)及管理是怎樣的,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯(lián)公司主營(yíng)中牟網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,中牟h5小程序開發(fā)搭建,中牟網(wǎng)站營(yíng)銷推廣歡迎中牟等地區(qū)企業(yè)咨詢

1.  MSSQL內(nèi)存架構(gòu)

相比較Oracle,MSSQL的內(nèi)存區(qū)域并沒那么清晰,但和Oracle類似,MSSQL內(nèi)存區(qū)域大體也可以分為三個(gè)部分:buffer pool,query/workspace memory,其他cache/memory。下面,我們分別對(duì)這三個(gè)內(nèi)存區(qū)域做簡(jiǎn)要介紹:

1)  Bufferpool:

,case database_id

else db_name(database_id)

,count(*)*8/1024 as 'cached size (MB)'

group by db_name(database_id),database_id

2)  Query/workspacememory:

類似Oracle的PGA,MSSQL中,query memoy(也稱為workspace memory)用于存儲(chǔ)查詢執(zhí)行時(shí)哈希和排序期間的臨時(shí)結(jié)果。雖然大家都知道Oracle的PGA,但MSSQL的query memory也許并沒有太多文檔可讀,因此,也并沒有太多人清楚和知道,包括MSSQL的background process,memory components等內(nèi)部的一些細(xì)節(jié)和內(nèi)容,都是這種現(xiàn)狀,這也許和多方面因素相關(guān),這里不做太多的探討。但是,當(dāng)你仔細(xì)的查看MSSQL中SQL語句的查詢計(jì)劃時(shí),你會(huì)清楚的看到hash和sort等操作相關(guān)的query memory內(nèi)容。

Query memory空間可以占到buffer pool大小的25%和75%之間,但是,當(dāng)buffer pool不存在內(nèi)存壓力時(shí),query memory也可以進(jìn)一步增長(zhǎng)。對(duì)于所有代價(jià)低于3和query memory需求低于5M的小查詢,其query memory可以為之保留整個(gè)query memory5%的空間。單個(gè)查詢最多能占到整個(gè)query memory的20%以保證其他查詢的正常執(zhí)行,這點(diǎn)來說,與Oracle的PGA非常類似??梢酝ㄟ^以下SQL語句來獲取查詢語句的query memory及相關(guān)授權(quán)情況:

select session_id,sql_handle,grant_time,requested_memory_kb

  from sys.dm_exec_query_memory_grants

,sum(isnull(granted_memory_kb,0))granted_memory_kb

   from sys.dm_exec_query_memory_grants

3)  其他cache/memory:

MSSQL內(nèi)存區(qū)域,除了上面講述的buffer pool和query/workspace memory外,剩下的那就是其他cache/memory部分,該部分內(nèi)存用于MSSQL中所有不能放于前述兩個(gè)內(nèi)存區(qū)域的內(nèi)存組件。這部分雖然不像Oracle中定義的那么清晰,但基本相當(dāng)于Oracle中的SGA中除去buffer pool外的其他組件,這其中,主要是shared pool。該部分區(qū)域,雖然占據(jù)的內(nèi)存不多,但包含眾多的內(nèi)存組件,也很重要。我們可以通過以下SQL語句來查詢其相關(guān)信息:

select [name],[type],pages_kb,entries_count

select name,value,value_in_use,[description]

 where namelike'%server memory%'

       page_fault_count,memory_utilization_percentage,

       process_virtual_memory_low

以上就是MSSQL內(nèi)存架構(gòu)及管理是怎樣的,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁題目:MSSQL內(nèi)存架構(gòu)及管理是怎樣的
分享鏈接:http://muchs.cn/article32/jojppc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、網(wǎng)站營(yíng)銷關(guān)鍵詞優(yōu)化網(wǎng)站收錄、外貿(mào)建站、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司