狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

SQL Server內(nèi)存的管理方法

admin
2011年5月5日 22:5 本文熱度 4008

以下的文章主要向大家講述的是SQL Server內(nèi)存的管理,在默認(rèn)的情況下,SQL Server 2000數(shù)據(jù)庫(kù)其為了平衡運(yùn)行在機(jī)器上得其他一些應(yīng)用程序與數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部其他組建對(duì)內(nèi)存的需要,實(shí)現(xiàn)對(duì)系統(tǒng)內(nèi)存的動(dòng)態(tài)分配和回收。


在早前的版本如7.0,你通過(guò)選項(xiàng)配置給SQL Server設(shè)定一個(gè)大小固定的內(nèi)存;然而。除非你有具體的問(wèn)題要求分配大小規(guī)定的內(nèi)存,否則最好是讓SQL Server動(dòng)態(tài)管理內(nèi)存。


無(wú)論內(nèi)存是以動(dòng)態(tài)還是固定的方式進(jìn)行分配,計(jì)算機(jī)系統(tǒng)為每個(gè)SQL Server實(shí)例分配的總的內(nèi)存空間都可看做一個(gè)單個(gè)統(tǒng)一的緩沖區(qū)(unified cache),這些內(nèi)存都以多種內(nèi)存池(memory pool)的方式進(jìn)行管理。每個(gè)內(nèi)存池有各自的策略和用途,系統(tǒng)中的各個(gè)內(nèi)部組件可以請(qǐng)求和授權(quán)使用池中的內(nèi)存。


緩沖區(qū)管理和內(nèi)存池(The Buffer Manager an Memory Pools)


SQL Server內(nèi)存組件是緩沖池(buffer pool)。任何不被其他內(nèi)存相關(guān)組件使用的內(nèi)存都放在緩沖池中。緩沖池負(fù)責(zé)從硬盤(pán)上加載數(shù)據(jù)和索引頁(yè)以供用戶(hù)訪問(wèn)和共享數(shù)據(jù)。當(dāng)其他組件申請(qǐng)內(nèi)存時(shí),它們向緩沖池發(fā)送一個(gè)緩沖請(qǐng)求。內(nèi)存緩沖由若干個(gè)頁(yè)組成,其中每頁(yè)大小與數(shù)據(jù)或索引頁(yè)大小相同(8K)。


緩沖區(qū)管理器(The buffer Manager)


SQL Server的進(jìn)程(process)只能訪問(wèn)內(nèi)存中的數(shù)據(jù)或索引頁(yè)。不允許直接訪問(wèn)磁盤(pán)上的頁(yè)。緩沖區(qū)管理器(The buffer Manager)是一個(gè)用來(lái)管理和控制物理磁盤(pán)中的頁(yè)在內(nèi)存中的進(jìn)程。當(dāng)某個(gè)進(jìn)程需要訪問(wèn)數(shù)據(jù)或索引頁(yè)時(shí),該頁(yè)必須首先在緩沖區(qū)存在。


如果訪問(wèn)的頁(yè)在內(nèi)存中不存在,則必須進(jìn)行一次物理I/O訪問(wèn)來(lái)加載該頁(yè),這樣進(jìn)程就可以訪問(wèn)該頁(yè)在內(nèi)從中的拷貝了。因?yàn)槲锢鞩/O的訪問(wèn)是非常昂貴和耗時(shí)的,所以盡可能減少系統(tǒng)的物理I/O。一種解決方案就是給SQL Server提供更多內(nèi)存。越多的頁(yè)駐留在內(nèi)存,當(dāng)某個(gè)頁(yè)被訪問(wèn)時(shí)就越有可能在內(nèi)存中找到該頁(yè)。


內(nèi)存緩沖區(qū)的訪問(wèn)(Accessing Memory Buffers)


對(duì)SQL Server中進(jìn)程來(lái)講,一個(gè)數(shù)據(jù)庫(kù)就像帶有編號(hào)頁(yè)的簡(jiǎn)單序列。數(shù)據(jù)庫(kù)中的頁(yè)可以用數(shù)據(jù)庫(kù)編號(hào)、文件編號(hào)、頁(yè)的編號(hào)來(lái)唯一標(biāo)識(shí)。當(dāng)一個(gè)進(jìn)程訪問(wèn)一個(gè)頁(yè)時(shí),它向緩沖管理器發(fā)送一個(gè)請(qǐng)求,該請(qǐng)求指出要訪問(wèn)數(shù)據(jù)所在的數(shù)據(jù)庫(kù)編號(hào)、文件編號(hào)、和頁(yè)編號(hào)。


為了更快地訪問(wèn)內(nèi)存中的數(shù)據(jù)和避免數(shù)據(jù)頁(yè)的SQL Server內(nèi)存掃描(memory scans),對(duì)緩沖池的頁(yè)進(jìn)行散列處理,以提供更快地訪問(wèn)。散列(Hashing)是一種同過(guò)一個(gè)散列函數(shù)把一個(gè)key映射到一個(gè)散列桶(hansh bucket)的技術(shù)。散列桶是一種內(nèi)存中的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)包含一個(gè)指針數(shù)組(以鏈表方式實(shí)現(xiàn)),每個(gè)指針指向一個(gè)緩沖頁(yè)(buffer page)。


A linked list chain of hash pages is built when the pointers to buffer pages do not fit on a single hash page. 散列桶的數(shù)量是SQL Server根據(jù)緩沖池大小動(dòng)態(tài)進(jìn)行調(diào)整。


在SQL Server中,散列值是由數(shù)據(jù)庫(kù)編號(hào)、文件編號(hào)、頁(yè)編號(hào)相結(jié)合生成的。散列函數(shù)生成散列值并保存在散列桶中。本質(zhì)來(lái)講,散列桶就是訪問(wèn)內(nèi)存頁(yè)的一個(gè)索引。即使在一個(gè)大的內(nèi)存環(huán)境中,散列技術(shù)可以允許SQL Server快速查找內(nèi)存中的具體數(shù)據(jù)頁(yè)而這需要一些內(nèi)存讀操作。


利用散列算法也讓SQL Server快速判斷某個(gè)請(qǐng)求的頁(yè)是否在內(nèi)存中,而不需要一個(gè)內(nèi)存緩沖區(qū)的掃描。


如果被請(qǐng)求的頁(yè)在內(nèi)存中,緩沖區(qū)管理者返回一個(gè)指向SQL Server內(nèi)存緩沖區(qū)的指針,該內(nèi)存緩沖區(qū)即為該進(jìn)程請(qǐng)求的數(shù)據(jù)頁(yè)。如果頁(yè)不在內(nèi)存中,則緩沖區(qū)管理者必須首先進(jìn)行一次磁盤(pán)I/O操作把請(qǐng)求頁(yè)讀到內(nèi)存緩沖區(qū)中,然后把指向該內(nèi)存的指針?lè)祷亟o發(fā)送請(qǐng)求的進(jìn)程。


如果請(qǐng)求頁(yè)的進(jìn)程最終對(duì)頁(yè)中的任何信息進(jìn)行了修改,該頁(yè)就被標(biāo)記為“臟頁(yè)(dirty)”,當(dāng)進(jìn)行完成了對(duì)頁(yè)的修改,緩沖區(qū)管理者會(huì)收到一個(gè)通知。緩沖區(qū)管理者協(xié)同日志和事務(wù)管理者,負(fù)責(zé)確保被修改的頁(yè)寫(xiě)到了磁盤(pán)上。


該文章在 2011/5/5 22:05:31 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved