SQL Server占用內(nèi)存的解決方法_Mssql數(shù)據(jù)庫教程
推薦:解析 SQL Server 2008 的精妙之處本文介紹了SQL Server 2008里的一些新的特點(diǎn)以及在試用過程中發(fā)現(xiàn)的一些精妙之處,大家一起來看看吧。 安裝 SQL Server 2008的設(shè)置和安裝也有所改進(jìn)。配置數(shù)據(jù)和引擎位已經(jīng)分開了,所以它使創(chuàng)建基本的未配置系統(tǒng)的磁盤圖像變得可能了,它使分布到多個(gè)服務(wù)器
經(jīng)常看見有人問,MSSQL占用了太多的內(nèi)存,而且還不斷的增長;或者說已經(jīng)設(shè)置了使用內(nèi)存,可是它沒有用到那么多,這是怎么一回事兒呢?
首先,我們來看看MSSQL是怎樣使用內(nèi)存的。
最大的開銷一般是用于數(shù)據(jù)緩存,如果內(nèi)存足夠,它會(huì)把用過的數(shù)據(jù)和覺得你會(huì)用到的數(shù)據(jù)統(tǒng)統(tǒng)扔到內(nèi)存中,直到內(nèi)存不足的時(shí)候,才把命中率低的數(shù)據(jù)給清掉。所以一般我們?cè)诳磗tatistics io的時(shí)候,看到的physics read都是0。
其次就是查詢的開銷,一般地說,hash join是會(huì)帶來比較大的內(nèi)存開銷的,而merge join和nested loop的開銷比較小,還有排序和中間表、游標(biāo)也是會(huì)有比較大的開銷的。
所以,用于關(guān)聯(lián)和排序的列上一般需要有索引。
再其次就是對(duì)執(zhí)行計(jì)劃、系統(tǒng)數(shù)據(jù)的存儲(chǔ),這些都是比較小的。
我們先來看數(shù)據(jù)緩存對(duì)性能的影響,如果系統(tǒng)中沒有其它應(yīng)用程序來爭奪內(nèi)存,數(shù)據(jù)緩存一般是越多越好,甚至有些時(shí)候我們會(huì)強(qiáng)行把一些數(shù)據(jù)pin在高速緩存中。但是如果有其它應(yīng)用程序,雖然在需要的時(shí)候MSSQL會(huì)釋放內(nèi)存,但是線程切換、IO等待這些工作也是需要時(shí)間的,所以就會(huì)造成性能的降低。這樣我們就必須設(shè)置MSSQL的最大內(nèi)存使用。可以在SQL Server屬性(內(nèi)存選項(xiàng)卡)中找到配置最大使用內(nèi)存的地方,或者也可以使用sp_configure來完成。如果沒有其它應(yīng)用程序,那么就不要限制MSSQL對(duì)內(nèi)存的使用。
然后來看查詢的開銷,這個(gè)開銷顯然是越低越好,因?yàn)槲覀儾荒軓闹械玫胶锰帲喾�,使用了越多的�?nèi)存多半意味著查詢速度的降低。所以我們一般要避免中間表和游標(biāo)的使用,在經(jīng)常作關(guān)聯(lián)和排序的列上建立索引。
分享:SQL Server 2005 遠(yuǎn)程調(diào)試存儲(chǔ)過程配置問題: 您工作的本機(jī)裝有Visual Studio 2005,局域網(wǎng)中有一臺(tái)SQL Server 2005數(shù)據(jù)庫服務(wù)器,你想通過本機(jī)遠(yuǎn)程調(diào)試SQL Server 2005服務(wù)器上的存儲(chǔ)過程。但是不知道如何配置或啟用遠(yuǎn)程調(diào)試?希望這篇文章對(duì)您有用。 對(duì)于數(shù)據(jù)庫和Visual Studio在同一機(jī)器的存儲(chǔ)
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
猜你也喜歡看這些
- 解析csv數(shù)據(jù)導(dǎo)入mysql的方法
- MySQL:數(shù)據(jù)庫知識(shí)點(diǎn)
- MySQL筆記之索引的使用
- MySQL無法啟動(dòng)1067錯(cuò)誤的解決方法
- 深入SQLite基本操作的總結(jié)詳解
- MySQL SELECT同時(shí)UPDATE同一張表問題發(fā)生及解決
- SQL查詢超時(shí)的設(shè)置方法(關(guān)于timeout的處理)
- MySQL中優(yōu)化sql語句查詢常用的30種方法
- SQLServer導(dǎo)出數(shù)據(jù)到MySQL實(shí)例介紹
- MySQL——修改root密碼的4種方法(以windows為例)
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-SQL Server占用內(nèi)存的解決方法
。