新聞中心
隨著現(xiàn)在越來越繁重的業(yè)務(wù)應(yīng)用對(duì)數(shù)據(jù)庫(kù)性能的要求,讀緩存(Read Cache)在sqlserver性能優(yōu)化中越來越重要。

創(chuàng)新互聯(lián)公司是一家專業(yè)的成都網(wǎng)站建設(shè)公司,我們專注網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷、企業(yè)網(wǎng)站建設(shè),賣鏈接,一元廣告為企業(yè)客戶提供一站式建站解決方案,能帶給客戶新的互聯(lián)網(wǎng)理念。從網(wǎng)站結(jié)構(gòu)的規(guī)劃UI設(shè)計(jì)到用戶體驗(yàn)提高,創(chuàng)新互聯(lián)力求做到盡善盡美。
讀緩存是一種磁盤和內(nèi)存之間的緩沖技術(shù),即將數(shù)據(jù)庫(kù)中讀取出來的數(shù)據(jù)庫(kù)表進(jìn)行內(nèi)存緩存,以期提高SQL Server查詢速度。它可以在客戶端和服務(wù)端使用,其中客戶端的緩存叫做客戶端讀緩存,而服務(wù)端的緩存叫做服務(wù)端讀緩存,兩者搭配即可實(shí)現(xiàn)高速的查詢。
客戶端讀緩存是客戶端程序(經(jīng)常是ODBC或者JDBC這樣的接口)在收到遠(yuǎn)程服務(wù)器上數(shù)據(jù)庫(kù)的查詢結(jié)果時(shí),將這些查詢結(jié)果首先保存在客戶端機(jī)器本身的內(nèi)存中。
相比較而言,服務(wù)端讀緩存即服務(wù)端數(shù)據(jù)庫(kù)服務(wù)器對(duì)外部請(qǐng)求的查詢結(jié)果進(jìn)行緩存,在本地保存用戶查詢的結(jié)果數(shù)據(jù)供之后再次使用,這樣就可以極大減輕磁盤上的負(fù)載,大大提升數(shù)據(jù)庫(kù)的查詢性能。
要開啟服務(wù)端讀緩存功能,首先要在SQLServer的服務(wù)器配置文件中設(shè)置read_buffer和write_buffer參數(shù),配置詳情如下:
EXECUTE sp_configure
GO
RECONFIGURE
GO
EXECUTE sp_configure ‘Show Advanced Options’,1
GO
RECONFIGURE
GO
EXECUTE sp_configure ‘Read Buffer Size’,4096
GO
EXECUTE sp_configure ‘Write Buffer Size’,4096
GO
RECONFIGURE
GO
這些參數(shù)分別表示了從磁盤讀取數(shù)據(jù)到服務(wù)器緩存的數(shù)據(jù)塊大小,以及將數(shù)據(jù)從服務(wù)器緩存寫入磁盤的數(shù)據(jù)塊大小,默認(rèn)配置是每次從磁盤讀取到緩存中8KB,從緩存寫入到磁盤的大小也是8KB。
另外,為了減輕磁盤的IO壓力,還要在SQLServer的查詢屬性中設(shè)置Use Read-Ahead Cache屬性,改屬性可以更好地幫助SQLServer讀取緩存,以減輕文件磁盤的IO壓力,改屬性的sql代碼如下:
ALTER DATABASE [My_db] SET
PAGE_VERIFY CHECKSUM
, READ_AHEAD_CACHE_SIZE = 32
, PAGE_VERIFY TORN_PAGE_DETECTION
, READ_COMMIT
, RECOVERY SIMPLE
總之,sqlserver讀緩存是一個(gè)非常重要的性能提升技術(shù),它可以減少對(duì)磁盤IO的壓力,有效提升系統(tǒng)的查詢性能。只要在SQLServer配置參數(shù)中添加相關(guān)參數(shù),就能實(shí)現(xiàn)硬盤到內(nèi)存的轉(zhuǎn)換,享受大大提升的查詢性能。
成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽、重慶、貴陽機(jī)房服務(wù)器托管租用。
網(wǎng)站題目:SQLServer讀緩存:性能提高的秘(mei)密?。╯qlserver讀緩存)
網(wǎng)站地址:http://www.dlmjj.cn/article/ccsgeph.html


咨詢
建站咨詢
