數(shù)據(jù)庫由稱為表空間的部件組成。表空間是用來存儲(chǔ)表的位置。當(dāng)創(chuàng)建表時(shí),您可以決定將特定對象(如索引和大對象)數(shù)據(jù)與其余表數(shù)據(jù)分開存放。表空間也可以分布在一個(gè)或多個(gè)物理存儲(chǔ)設(shè)備上。
豐潤ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
我們這一節(jié)主要講講如何創(chuàng)建表空間(如需要使用什么樣的參數(shù)來創(chuàng)建最適用的表空間)
表空間可分為SMS表空間和DMS表空間,
簡單來說,SMS表空間易于管理,DMS表空間性能更優(yōu)。
SMS表空間:
1)根據(jù)需要,系統(tǒng)按需分配;
2)由于不必預(yù)定義容器,因此創(chuàng)建表空間需要的初始工作少。
3)通過操作系統(tǒng)來管理空間,邏輯上數(shù)據(jù)是連續(xù)的,但物理上不是。
DMS表空間:
1)可通過ALTER TABLESPACE來添加或擴(kuò)展容器來增加表空間大小,現(xiàn)有數(shù)據(jù)可以在新添加的容器集合中重新平衡以保持最佳I/O效率。
2)可將數(shù)據(jù)分割存放在多個(gè)表空間中以提高性能和空間存儲(chǔ)容量。
3)可控制數(shù)據(jù)在磁盤上的位置(需操作系統(tǒng)允許)
4)精心設(shè)計(jì)的DMS性能優(yōu)于SMS表空間(涉及大量DML操作的應(yīng)用程序,建議使用DMS表空間)
5)數(shù)據(jù)在物理磁盤上是連續(xù)的。
注:對于個(gè)人數(shù)據(jù)庫用SMS表空間管理最容易。對于不斷增長的大型數(shù)據(jù)庫,建議使用SMS表空間做臨時(shí)表空間和系統(tǒng)編目表空間,而將具有多個(gè)容器的單獨(dú)的DMS表空間用于每個(gè)表。另外建議將長字段(LF)數(shù)據(jù)和索引存儲(chǔ)在它們自己的表空間中。
SMS表空間:
計(jì)劃在一個(gè)表空間中存儲(chǔ)許多小表,應(yīng)考慮使用SMS表空間。(對于小標(biāo),DMS表現(xiàn)在I/O和空間管理效率方面優(yōu)點(diǎn)沒有那么重要)
DMS表空間:
表較大或者需要更快地訪問表中的數(shù)據(jù),應(yīng)考慮具有較小擴(kuò)展數(shù)據(jù)塊大小的DMS表空間。
1)有的表包含不經(jīng)常使用的歷史記錄數(shù)據(jù),用戶可能愿意接受較長的響應(yīng)時(shí)間??梢詾闅v史記錄表使用單獨(dú)的表空間,并分配給訪問速率較低的較便宜的物理設(shè)備。
2)有些表需要數(shù)據(jù)快速響應(yīng),需要將這些表分配給快速物理設(shè)備的表空間中??梢允褂霉虘B(tài)硬盤來存放訪問最頻繁的表。
3)使用DMS表空間,可以將表數(shù)據(jù)分發(fā)在3個(gè)不同的表空間中:
一個(gè)存儲(chǔ)索引數(shù)據(jù);
一個(gè)存儲(chǔ)大對象(LOB)和長字段(LF)數(shù)據(jù);
一個(gè)存儲(chǔ)常規(guī)表數(shù)據(jù)。
(如果將表分布在各個(gè)DMS表空間中,在啟用表空間級備份恢復(fù)時(shí),應(yīng)考慮一起備份和復(fù)原那些表空間。SMS表空間不支持以此方式將數(shù)據(jù)分發(fā)在所有表空間中)。
如果需要經(jīng)常刪除并重新創(chuàng)建特定表,應(yīng)給這樣的表表單獨(dú)創(chuàng)建DMS表空間,因?yàn)閯h除DMS表空間比刪除表更有效率。
數(shù)據(jù)頁可選擇使用4KB、8KB、16KB、32KB頁大小,在選擇數(shù)據(jù)頁大小時(shí)需要綜合考慮空間需求和業(yè)務(wù)類型(性能需求)以做出選擇。
DB2中每個(gè)頁大小限定了可存儲(chǔ)行的最大長度和可存儲(chǔ)表空間的最大值,所以選擇頁大小的時(shí)候需要考慮這些。
4KB – 最大可存放的行長度是4005字節(jié)
表空間特定于頁大小的限制 | ||||
表空間類型 | 4KB | 8KB | 16KB | 32KB |
SMS表空間 | 64GB | 128GB | 256GB | 512GB |
DMS表空間(常規(guī)) | 64GB | 128GB | 256GB | 512GB |
DMS表空間(大型) | 8TB | 16TB | 32TB | 64TB |
自動(dòng)存儲(chǔ)表空間(常規(guī)) | 64GB | 128GB | 256GB | 512GB |
自動(dòng)存儲(chǔ)表空間(大型) | 8TB | 16TB | 32TB | 64TB |
臨時(shí)表空間 | 64GB | 128GB | 256GB | 512GB |
數(shù)據(jù)頁大小選擇不當(dāng),可能造成空間浪費(fèi)。
建議常見表表空間時(shí),盡量創(chuàng)建大型表空間,大型表空間的數(shù)據(jù)頁可以存放更多的容量和行數(shù)。
聯(lián)機(jī)事務(wù)處理(OLTP)工作負(fù)載的特征:事務(wù)需要對數(shù)據(jù)進(jìn)行隨機(jī)訪問,涉及頻繁插入或更新活動(dòng)和返回一小組數(shù)據(jù)的查詢。對于性能要求很高的OLTP應(yīng)用,可以考慮把一些頻繁訪問的表創(chuàng)建在固態(tài)硬盤上。(使用裸設(shè)備容器的DMS表空間在這種情況下表現(xiàn)最好)
OLAP查詢工作負(fù)載的特征:事務(wù)需要對數(shù)據(jù)進(jìn)行順序訪問或部分順序訪問,并常返回大的數(shù)據(jù)集。(使用多個(gè)設(shè)備容器且每個(gè)容器都在單獨(dú)磁盤上的DMS表空間最有可能提供有效的并行預(yù)存?。?yīng)將PREFETCHSIZE參數(shù)的值設(shè)為EXTENTSIZE參數(shù)的值乘以容器設(shè)備數(shù)之積。并可以將預(yù)取大小設(shè)置為-1(AUTOMATIC),這允許數(shù)據(jù)庫管理器以并行方式從所有容器中預(yù)取。如果容器數(shù)目發(fā)生更改,或需要使預(yù)取更多或更少,那么可以使用ALTER TABLESPACE語句響應(yīng)地更改PREFETCHSIZE值;強(qiáng)烈建議把PREFETCHSIZE設(shè)置為AUTOMATIC或-1。
混合工作負(fù)載的目標(biāo):對于OLTP工作負(fù)載,使單個(gè)I/O請求盡可能有效率;對于OLAP查詢工作負(fù)載,最大程度地提高并行I/O的效率。
1) 對于執(zhí)行隨機(jī)行讀寫操作的OLTP應(yīng)用程序,通常最好使用較小的頁大?。?KB、8KB),這樣不需要的行就不會(huì)浪費(fèi)緩沖池空間;
2) 對于一次訪問大量連續(xù)行的決策支持系統(tǒng)(DSS)和OLAP應(yīng)用程序,頁大小大點(diǎn)(16KB、32KB)比較好,這樣能減少讀取特定數(shù)目的行所需的I/O請求數(shù)。較大的頁大小還允許減少索引中的層數(shù),因?yàn)樵谝豁撝锌梢员A舾嗟男兄羔槨?/p>
3) 越大的頁,支持的行越長。應(yīng)根據(jù)業(yè)務(wù)需求選擇合適的數(shù)據(jù)頁。
4) 4KB – 表有500列;8KB、16KB、32KB支持1012列。
5) 表空間最大大小與表空間的頁大小成正比(參考表3-3)
EXTENTSIZE指定在跳到下一個(gè)容器之前可以寫入容器PAGESIZE頁面的數(shù)量。存儲(chǔ)數(shù)據(jù)時(shí)數(shù)據(jù)庫管理器反復(fù)均衡使用所有容器。該參數(shù)只有在表空間中有多個(gè)容器時(shí)才起作用。合理的EXTENTSIZE會(huì)對表空間的性能產(chǎn)生重大影響。這個(gè)參數(shù)只能在創(chuàng)建表空間時(shí)定義,之后不能修改。
以下經(jīng)驗(yàn)法則建立在表空間中每個(gè)表的平均大小的基礎(chǔ)上:
1) 如果小于50MB,EXTENTSIZE為8
2) 如果介于50MB到500MB之間,EXTENTSIZE為16
3) 如果介于500MB到5GB之間,EXTENTSIZE為32
4) 如果大于5GB,EXTENTSIZE為64
對于OLAP數(shù)據(jù)庫和大部分對表的訪問包括許多查詢或處理大量數(shù)據(jù)的事物(僅限于查詢)的表,或者增長速度很快的表,從表中預(yù)取數(shù)據(jù)可以顯著改善性能,應(yīng)使用較大的extent,反之,使用較小的extent。
為了提高緩沖池命中率,數(shù)據(jù)庫通過預(yù)取操作再查詢使用所需的數(shù)據(jù)之前讀入這些數(shù)據(jù),因?yàn)閿?shù)據(jù)已經(jīng)存在于內(nèi)存,查詢在使用這些數(shù)據(jù)的時(shí)候就不必等待執(zhí)行I/O了。數(shù)據(jù)庫管理器會(huì)確定預(yù)取操作是否有助于提高性能。
通過ALTER TABLEPSPACE可以修改預(yù)取大小。一般最優(yōu)設(shè)置如下:
Prefetch Size = (# Containers of the table space on different physical disks) * Extent Size
如果表空間駐留在某個(gè)磁盤陣列上,那按如下設(shè)置:
Prefetch Size = Extent Size * (# of non-parity disks in array)
注:DB2 V9版本以后,可以在創(chuàng)建表空間時(shí)自動(dòng)預(yù)取大小。
在添加或刪除容器后,要及時(shí)更新表空間的預(yù)取大小,否則數(shù)據(jù)庫性能會(huì)明顯降低??梢栽趧?chuàng)建表空間時(shí)指定Prefetchsize 為 Automatic,這樣可以設(shè)置自動(dòng)預(yù)取大小??赏ㄟ^以下方法查看是否設(shè)置自動(dòng)預(yù)取:
db2 get snapshot for tablespaces on dbname| more
Prefetchsize的大小設(shè)置和Extentsize的設(shè)置有關(guān),所以需要合理設(shè)置 Extentsize大小,再根據(jù)Extentsize大小設(shè)置Prefetchsize。較好的建議是創(chuàng)建數(shù)據(jù)庫時(shí)采用自動(dòng)存儲(chǔ),這樣數(shù)據(jù)庫管理器可自動(dòng)設(shè)置Prefetchsize和Extentsize的大小。
在創(chuàng)建DMS表空間容器時(shí)可以選擇使用文件系統(tǒng)或裸設(shè)備。
為避免操作系統(tǒng)做多一次緩存(數(shù)據(jù)庫已經(jīng)通過buffer pool做了一次緩存),可以采用裸設(shè)備作為數(shù)據(jù)文件的存儲(chǔ)設(shè)備。裸設(shè)備也稱為裸分區(qū)(Raw Partition),是沒有被加載(mount)到操作系統(tǒng)的文件系統(tǒng)中的磁盤分區(qū),通過字符設(shè)備驅(qū)動(dòng)來訪問。裸設(shè)備的I/O讀寫不由操作系統(tǒng)控制,而是由應(yīng)用系統(tǒng)(如數(shù)據(jù)庫)直接控制。
裸設(shè)備的優(yōu)點(diǎn):
1. 具有更好的性能(屏蔽了文件系統(tǒng)緩沖區(qū)而進(jìn)行直接讀寫)。對硬盤的直接讀寫意味著取消了硬盤與文件系統(tǒng)的同步需求。這一點(diǎn)對于純OLTP系統(tǒng)非常有用,因?yàn)檫@種系統(tǒng)的讀寫隨機(jī)性非常大,以至于一旦數(shù)據(jù)被讀寫之后,在今后較長一段時(shí)間內(nèi)不會(huì)再次使用。改善決策支持系統(tǒng)(DSS)應(yīng)用程序的性能:
2 排序:DSS環(huán)境存在大量排序需求,裸設(shè)備提供的直接讀寫功能非常有用,因?yàn)閷εR時(shí)表空間的寫動(dòng)作速度更快。
2 順序訪問:裸設(shè)備非常適合順序I/O動(dòng)作。DSS中常見順序I/O(表/索引的全表掃描)
2. 直接讀寫,不需要經(jīng)過操作系統(tǒng)級的緩存。
3. 避免了操作系統(tǒng)的cache預(yù)讀功能,減少了I/O。
4. 避免了文件系統(tǒng)的開銷,比如維護(hù)i-node、空閑塊等。
裸設(shè)備的缺點(diǎn):
1. 裸設(shè)備的空間大小管理不靈活。需要預(yù)先規(guī)劃裸設(shè)備的空間使用,還應(yīng)當(dāng)保留一部分裸設(shè)備以應(yīng)付突發(fā)情況。
2. 需要操作系統(tǒng)root用戶干預(yù),因?yàn)槁阍O(shè)備的創(chuàng)建、更改權(quán)限、擴(kuò)展大小等都需要由root用戶完成,這增加的了管理成本。
文件系統(tǒng)的優(yōu)點(diǎn):
易于管理和維護(hù),比如文件的基本管理以及安全和備份等。
文件系統(tǒng)的缺點(diǎn):
性能比不上裸設(shè)備
選擇表空間容器時(shí),從性能上考慮盡量采用裸設(shè)備;如果使用自動(dòng)存儲(chǔ)方式創(chuàng)建數(shù)據(jù)庫和表空間,則不支持裸設(shè)備?;蛘邽榱吮阌诠芾矶捎梦募到y(tǒng)方式,這時(shí)需要合理設(shè)置文件系統(tǒng)相關(guān)選項(xiàng)和表空間相關(guān)選項(xiàng)。
直接I/O(DIO)可以繞過在文件系統(tǒng)級別進(jìn)行高速緩存,因此能改進(jìn)內(nèi)存性能。此過程可減少CPU開銷并使得更多的內(nèi)存可用于數(shù)據(jù)庫實(shí)例。
并發(fā)I/O(CIO)具有DIO的優(yōu)點(diǎn),并且可消除串行化寫訪問。與使用文件系統(tǒng)緩沖I/O相比,在具有大量事務(wù)處理工作負(fù)載和回滾時(shí),CIO/DIO機(jī)制可增大吞吐量。
注:DIO和CIO具體的支持列表查看最新的DB2信息中心。
關(guān)鍵字 NO FILE SYSTEM CACHING 和 FILE SYSTEM CACHING是CREATE 和 ALTER TABLEPACE 語句的一部分。
當(dāng) NO FILE SYSTEM CACHING有效時(shí),只要可能,數(shù)據(jù)庫管理器會(huì)嘗試使用“并發(fā)I/O(CIO)”。在不支持CIO時(shí),(例如使用了JFS)將取而代之使用DIO。
建議在表空間級別啟用或禁用操作系統(tǒng)中的非緩沖I/O。這將允許在特定表空間上啟用或禁用非緩沖I/O,同時(shí)可避免數(shù)據(jù)庫物理布局中的任何依賴性。另外還可允許數(shù)據(jù)庫管理器確定每個(gè)文件最適合使用哪種I/O,緩沖的還是非緩沖的。
NO FILE SYSTEM CACHING子句用于啟用非緩沖I/O,從而禁用特定表空間的文件高速緩存。一旦啟用非緩沖I/O,數(shù)據(jù)庫管理器會(huì)根據(jù)平臺自動(dòng)確定將使用直接I/O還是并發(fā)I/O。使用CIO可提高性能,只要CIO受支持,數(shù)據(jù)庫管理器就會(huì)啟用。
FILE SYSTEM CACHING一般用于應(yīng)用程序檢索LOB和LONG數(shù)據(jù),這些大對象數(shù)據(jù)不能經(jīng)過數(shù)據(jù)庫緩沖池。
查看是否啟用FILE SYSTEM CACHING屬性,可使用:
db2 get snapshot for tablespaces on
db2pd -d
db2look -d
建議創(chuàng)建表空間時(shí),表空間的容器采用裸設(shè)備或支持并發(fā)I/O或直接I/O的文件系統(tǒng)。
這兩個(gè)參數(shù)用于確定查詢優(yōu)化期間的I/O成本。這兩個(gè)值的測量單位都是毫秒,而且它們是所有容器開銷和傳送速率的平均值。開銷是與I/O控制器活動(dòng)、磁盤尋道時(shí)間和旋轉(zhuǎn)延遲時(shí)間相關(guān)聯(lián)的時(shí)間。傳送速率是將一頁讀入內(nèi)存所必須的時(shí)間量。它們的默認(rèn)值分別是24.1和0.9??筛鶕?jù)硬件規(guī)格計(jì)算這些值:
Transrate = (1/傳送速率)*1000/1024000*4096(假設(shè)用4KB頁大?。?/p>
Overhead = 平均尋道時(shí)間+((1/磁盤轉(zhuǎn)速)*60*1000)/2)
平均尋道時(shí)間、磁盤旋轉(zhuǎn)速度和傳送速率是由硬盤本身決定(可通過操作系統(tǒng)命令或從硬盤廠商獲得底層硬盤的物理特性)
所以合理設(shè)置這兩個(gè)值,可讓優(yōu)化器了解底層存儲(chǔ)的物理特性,從而制定最優(yōu)的執(zhí)行計(jì)劃。
現(xiàn)在很多應(yīng)用系統(tǒng)吧數(shù)據(jù)庫存放在“獨(dú)立磁盤冗余陣列”(RAID)設(shè)備上,要優(yōu)化存放在RAID設(shè)備上的表空間性能,可遵循以下準(zhǔn)則:
1. 在一組RAID設(shè)備上創(chuàng)建表空間時(shí),應(yīng)該把表空間容器創(chuàng)建在多個(gè)RAID GROUP上。
2. 為表空間選擇適當(dāng)?shù)臄U(kuò)展數(shù)據(jù)塊(extent)大小。理想狀態(tài)下,擴(kuò)展數(shù)據(jù)塊大小應(yīng)該等于磁盤底層strip大小或其倍數(shù),其中strip大小等于strip大小乘以活動(dòng)磁盤數(shù)。Strip大小表示磁盤控制器在向一個(gè)物理磁盤寫入多少數(shù)據(jù)后才轉(zhuǎn)向下一個(gè)物理磁盤。
如果strip大小為64KB,頁大小為16KB,那適當(dāng)?shù)臄U(kuò)展數(shù)據(jù)塊大小可能是256KB(64KB*4)
3. 使用DB2_PARALLEL_IO注冊變量為所有表空間啟用并行I/O,并為每個(gè)容器指定物理磁盤數(shù)。
DB2_PARALLEL_IO注冊變量用來確定每個(gè)容器的底層物理硬盤數(shù)以及對表空間上并行I/O的影響。當(dāng)為表空間設(shè)置多個(gè)容器或者設(shè)置DB2_PARALLEL_IO注冊變量時(shí),會(huì)為表空間啟動(dòng)并行預(yù)取。如未設(shè)置DB2_PARALLEL_IO,那表空間的并行度與容器數(shù)目相等。否則,表空間的并行度由表空間預(yù)取大小和EXTENT大小決定,建議將預(yù)取大小設(shè)置為AUTOMATIC,由DB2自動(dòng)計(jì)算預(yù)取大小,讓DB2選擇最合適的并行度。
DB2_PARALLEL_IO = TablespaceID:[n],如果沒有指定n,那么使用默認(rèn)值6(就是假設(shè)容器跨越6個(gè)RAID底層物理磁盤)。
DB2_PARALLEL_IO =* (*表示所有表空間均啟用并行I/O,沒有指定n,所以所有表空間使用容器磁盤數(shù)目等于6的默認(rèn)值。將預(yù)取請求分解成“6x容器數(shù)目”個(gè)并行請求,每個(gè)請求的讀取大小為extent大小。
DB2_PARALLEL_IO =*:3 (*表示所有表空間均啟用并行I/O,3表示所有表空間使用容器磁盤數(shù)目等于3。將預(yù)取請求分解成“3x容器數(shù)目”個(gè)并行請求,每個(gè)請求的讀取大小為extent大小。)
DB2_PARALLEL_IO =*:3 1:1 (*表示所有表空間均啟用并行I/O,3表示所有表空間使用容器磁盤數(shù)目等于3。將預(yù)取請求分解成“3x容器數(shù)目”個(gè)并行請求,每個(gè)請求的讀取大小為extent大小。對于ID為1的表空間,將預(yù)取請求分解成“1x容器數(shù)目”個(gè)并行請求,每個(gè)請求的讀取大小為extent大小。)
如果將表空間的預(yù)取大小設(shè)置為AUTOMATIC, 那么數(shù)據(jù)庫管理器將使用為DB2_PARALLEL_IO 指定的物理磁盤數(shù)值來確定預(yù)取大小值。如果預(yù)取大小未設(shè)置為AUTOMATIC,可以手動(dòng)設(shè)置,需考慮RAID條帶大小,它是strip大小乘以活動(dòng)磁盤數(shù)產(chǎn)生的值:
l 等于RAID條帶大小乘以RAID并行設(shè)備數(shù)(或此乘積的整數(shù)表示)
l 是擴(kuò)展數(shù)據(jù)塊的大小的整數(shù)表示。
不要設(shè)置DB2_USE_PAGE_CONTAINER_TAG注冊變量,如果設(shè)置為ON,將使用單頁容器標(biāo)記,并且擴(kuò)展數(shù)據(jù)塊不會(huì)與RAID條帶對其。 應(yīng)使用等于RAID條帶大小或其倍數(shù)的擴(kuò)展數(shù)據(jù)塊大小來創(chuàng)建表空間。
說了那么多建表空間的參數(shù)選擇,下面我們舉例子來實(shí)際操作,以下是創(chuàng)建表空間的完整語句:
創(chuàng)建單區(qū)的表空間
CREATE REGULAR TABLESPACE "TBS_BASS_WEB" IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 32768 MANAGED BY DATABASE
USING (FILE '/db2home/db2inst1/db2inst1/NODE0000/tbs_bass_web'655360,
FILE '/db2home/db2inst1/db2inst1/NODE0000/tbs_bass_web1'655360,
FILE '/db2data/tbs/tbs_bass_web7'655360,
FILE '/db2data/tbs/tbs_bass_web8'655360)
EXTENTSIZE 32
PREFETCHSIZE AUTOMATIC
BUFFERPOOL BASS_WEB
OVERHEAD 24.100000
TRANSFERRATE 0.900000
FILE SYSTEM CACHING
DROPPED TABLE RECOVERY ON;
創(chuàng)建多分區(qū)的表空間(指定了多個(gè)分區(qū) “DBPARTITIONNUMS”)
CREATE LARGE TABLESPACE "TBS_DWD" IN DATABASE PARTITION GROUP NDGRP11 PAGESIZE 32768 MANAGED BY DATABASE
USING (DEVICE '/dev/md/vgmt01/rdsk/d503' 655360,
DEVICE '/dev/md/vgmt01/rdsk/d509'655360,
DEVICE '/dev/md/vgmt01/rdsk/d510'6553600) ON DBPARTITIONNUMS (1)
USING (DEVICE '/dev/md/vgmt02/rdsk/d503' 655360,
DEVICE '/dev/md/vgmt02/rdsk/d509'655360,
DEVICE '/dev/md/vgmt02/rdsk/d510'6553600) ON DBPARTITIONNUMS (2)
USING (DEVICE '/dev/md/vgmt03/rdsk/d503' 655360,
DEVICE '/dev/md/vgmt03/rdsk/d509'655360,
DEVICE '/dev/md/vgmt03/rdsk/d510'6553600) ON DBPARTITIONNUMS (3)
USING (DEVICE '/dev/md/vgmt04/rdsk/d503' 655360,
DEVICE '/dev/md/vgmt04/rdsk/d509'655360,
DEVICE '/dev/md/vgmt04/rdsk/d510'6553600) ON DBPARTITIONNUMS (4)
EXTENTSIZE 16
PREFETCHSIZE 32
BUFFERPOOL POOL_32K
OVERHEAD 7.500000
TRANSFERRATE 0.060000
FILE SYSTEM CACHING
DROPPED TABLE RECOVERY ON;
如果不通過詳細(xì)的參數(shù)設(shè)置,也可以使用以下簡單方式,其他參數(shù)則會(huì)默認(rèn)設(shè)置
db2 create tablespace test managed by DATABASE;
db2 create tablespace test managed by SYSTEM;
db2 create tablespace test managed by AUTOMATIC STORAGE;(自動(dòng)存儲(chǔ),自動(dòng)分配容器)
注:在創(chuàng)建DMS表空間時(shí),表空間文件容器由DB2自動(dòng)來創(chuàng)建,但裸設(shè)備容器無法自動(dòng)創(chuàng)建,需要root用戶參與。
SMS和DMS表空間相比,SMS表空間特別適合一般用途。
SMS表空間能夠提供一定的性能,且管理成本很低。
如果需要達(dá)到最佳的性能,則應(yīng)該選用DMS表空間。
因?yàn)槭褂梦募萜骰蛘逽MS表空間移動(dòng)數(shù)據(jù)時(shí)會(huì)發(fā)生雙重緩沖(在數(shù)據(jù)庫管理程序級首先緩沖一次數(shù)據(jù),然后在文件系統(tǒng)再緩沖一次數(shù)據(jù),這就是雙重緩沖),所以使用設(shè)備容器可能提供更好的性能。
至于如何取舍,還是要實(shí)事求是!