日韩欧美人妻无码精品白浆,夜夜嗨AV免费入口,国产欧美官网在线看,高校回应聋哑女生因长相完美被质疑

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

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

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

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


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


無論內(nèi)存是以動態(tài)還是固定的方式進行分配,計算機系統(tǒng)為每個SQL Server實例分配的總的內(nèi)存空間都可看做一個單個統(tǒng)一的緩沖區(qū)(unified cache),這些內(nèi)存都以多種內(nèi)存池(memory pool)的方式進行管理。每個內(nèi)存池有各自的策略和用途,系統(tǒng)中的各個內(nèi)部組件可以請求和授權(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)存都放在緩沖池中。緩沖池負責從硬盤上加載數(shù)據(jù)和索引頁以供用戶訪問和共享數(shù)據(jù)。當其他組件申請內(nèi)存時,它們向緩沖池發(fā)送一個緩沖請求。內(nèi)存緩沖由若干個頁組成,其中每頁大小與數(shù)據(jù)或索引頁大小相同(8K)。


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


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


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


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


對SQL Server中進程來講,一個數(shù)據(jù)庫就像帶有編號頁的簡單序列。數(shù)據(jù)庫中的頁可以用數(shù)據(jù)庫編號、文件編號、頁的編號來唯一標識。當一個進程訪問一個頁時,它向緩沖管理器發(fā)送一個請求,該請求指出要訪問數(shù)據(jù)所在的數(shù)據(jù)庫編號、文件編號、和頁編號。


為了更快地訪問內(nèi)存中的數(shù)據(jù)和避免數(shù)據(jù)頁的SQL Server內(nèi)存掃描(memory scans),對緩沖池的頁進行散列處理,以提供更快地訪問。散列(Hashing)是一種同過一個散列函數(shù)把一個key映射到一個散列桶(hansh bucket)的技術(shù)。散列桶是一種內(nèi)存中的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)包含一個指針數(shù)組(以鏈表方式實現(xiàn)),每個指針指向一個緩沖頁(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ù)緩沖池大小動態(tài)進行調(diào)整。


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


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


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


如果請求頁的進程最終對頁中的任何信息進行了修改,該頁就被標記為“臟頁(dirty)”,當進行完成了對頁的修改,緩沖區(qū)管理者會收到一個通知。緩沖區(qū)管理者協(xié)同日志和事務(wù)管理者,負責確保被修改的頁寫到了磁盤上。


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