對於SQL Server,我需要多少記憶體

2021-09-07 07:00:46 字數 1274 閱讀 1204

經常被問到的乙個問題:對於sql server,我需要多少記憶體?這個問題還是有同樣的典型的「看情況而定」答案。在今天的文章裡,我們來詳細看下「看情況而定的」的不同方面。

首先,對於全新的sql server安裝,我想談下你如何估計你需要的記憶體大小。然後我會詳細談下你如何驗證現存的sql server有足夠的可用記憶體。

對於全新的sql server安裝,估計下需要多少記憶體,是個很有挑戰的工作,因為:

從這個清單裡你可以看到,問題的答案主要取決於你。我們再談下清單裡的每個專案。

你查詢的資料越多,你需要更多的記憶體。假設,你的大多數資料是使用者不常查詢的歸檔資料。在這個情況下,你的資料留在你的儲存系統裡,且從不載入到記憶體。就想下你的日誌和審計表:對於這些特定的表,你真的要查詢多少資料?

表到記憶體裡,只返回1條記錄!有了支援的索引,sql server可以進行高效的查詢操作,只需要讀幾個頁就可以返回請求的記錄。這個會是天差地別——相信我!

對於你的sql server安裝,sql server的版本也會影響你可以有的記憶體大小。使用標準版本,你會限制只能用到128g的記憶體。這聽起來是很多記憶體,膽實際上是啥也不是!如果你的資料庫包含幾個tb的資料,且你用標準版本的sql server(預算限制)。在這個情況下,對於每個單獨的提交到sql server的查詢,你要非常小心,而且你要確保你要有完全一致的索引策略。使用企業版本就不需要考慮這麼多,因為sql server支援系統的最大記憶體(window server 2016目前支援12tb的記憶體)。

對於現存的sql server安裝,對於的工作負荷,很容易找出你是否有足夠的記憶體。我們都知道,sql server在快取池裡儲存所有從儲存子系統裡獲得的頁。而且快取池為你提供乙個名為page life expanctancy的計數器。這個計數器告訴你在快取池裡sql server在每個8k頁的儲存時間。

現在你的page life expanctancy計數器至少有一些幾千秒。記憶體越大,這個數字越高。如果你的page life expanctancy低於那個閾值,你會有很嚴重的問題,因為sql server不能在快取池裡保持你的資料太長時間。作為***,你會引入更多的物理i/o,整個伺服器效能會下降。再提一下,你可以在索引策略上下功夫,確保從儲存子系統裡讀取的資料都是你查詢邏輯請求的資料。

對於你的sql server你應該有多少記憶體,真的是個「看情況而定」的問題。如果你使用標準版的sql server,你應該至少有這個版本給你支援的最大記憶體。越多越好。而對於企業版的sql server,你應該有盡可能多的記憶體。記憶體相比企業版的授權,現在已經越來越便宜了。因此不要在錯誤的地方省錢啦!

感謝關注!

對於SQL Server,我需要多少記憶體

經常被問到的乙個問題 對於sql server,我需要多少記憶體?這個問題還是有同樣的典型的 看情況而定 答案。在今天的文章裡,我們來詳細看下 看情況而定的 的不同方面。首先,對於全新的sql server安裝,我想談下你如何估計你需要的記憶體大小。然後我會詳細談下你如何驗證現存的sql serve...

python對於sqlserver的基本操作

基本步驟 匯入pymssql庫 建立連線conn 常用引數 host 主機 user 使用者名稱 password 密碼 database 資料庫 charset 字符集,utf8 as dict 查詢結果list列表中的元素是否以字典返回 預設false,列表中元素為元組 autocommit 自...

我,需要努力!

如果從我2005 05 25上班開始計算,到現在,已有三個月了。前兩個多月在上海,除了使用了一點sql語法之外。在那裡更多的是熟悉了delphi的程式設計環境,當然,主要是程式的除錯了。在那裡,做的事太少了。準確地說是我認為有用的事太少了,維護不是我的追求。來之前,我是打算開發的。但工作到快三個月的...