2GB RAM PC 上推薦的緩衝池大小是多少?
我在具有 2 GB RAM 並執行 Windows Server 2008 R2 作業系統的 PC 上安裝了 DB2 Express-C。創建新數據庫時,可以選擇設置緩衝池大小,預設設置為 4K。
上述配置的推薦池大小是多少?
我還想知道是為每個數據庫使用預設緩衝池還是單獨的緩衝池。
預設大小為 4K。您還可以指定 8K、16K 或 32K。緩衝池的大小實際上應該基於表的大小(即,一行數據可以保存多少字節)。如果您的數據行不適合 4K 頁面,那麼它將不適合 4K 緩衝池。因此你需要更大的。
表空間(儲存表的“物理容器”)也是如此。需要 8K 緩衝池的表需要駐留在 8K 表空間中。實際上,您還可以將該表空間與緩衝池相關聯……
話雖如此,如果您真的只有 4K 表,請不要只是“超大”並使用 32K 表空間和緩衝池。你會浪費大量的磁碟空間和記憶體。
此外,您可以擁有任意數量的緩衝池(我確信有一個上限,儘管我不知道手頭的情況)。但是你可以有它們的任意組合。您可以有五個 4K 池、一個 8K 池、一個 16K 池和三個 32K 池。
最重要的是更多地基於您的表大小和對前面提到的理解。
雖然,這是一件好事……在您創建緩衝池和表空間之後,DB2 足夠聰明,可以將表放入正確大小的表空間(等待它存在)。您可以在 DDL 程式碼中指定它,但 DB2 足夠聰明,可以將 8K 表放在 8K 表空間中(因此它也將與 8K 緩衝池相關聯)。
好的…現在回答您的最後兩個問題。真的沒有“推薦”尺寸。預設的4K很好。我工作的大多數表都適合 4K 表空間和 4K 緩衝池。
不過,作為最佳實踐,我們傾向於做的是……我們設置了自己的 4K、8K 和 32K 表空間和緩衝池(包括用於重組的臨時表空間)。為什麼我們不設置 16K,我不確定。但是我們在所有數據庫中設置了幾種尺寸。這樣,如果任何開發人員創建了一個大於 4K 的表,它將自動被放置到適當更大的表空間(以及緩衝池)中。
希望這對你來說已經足夠清楚了。我還發現這篇文章對我自己對緩衝池和表空間的理解很有幫助。