• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            表空間和表設計考慮事項

             

            記錄尺寸和頁尺寸

             

            固定長度的記錄比可變長度的記錄要好,因為處理固定長度記錄的DB2的代碼經(jīng)過了優(yōu)化。如果記錄是固定長度的,那么他就永遠不必從原來存儲的頁中被移動出來。然而,可變長度的記錄可能增長到不再適合原來頁的長度,因此他也就必須被移動到另一頁。無論何時記錄被順序訪問,都一定會出現(xiàn)一個額外的參考頁。DB2 UDB V8中的一個新特性就是當你不確定未來的數(shù)據(jù)長度增長情況時,允許你根據(jù)需要改動列的尺寸,這樣你就能不再需要創(chuàng)建可變長度的記錄。

             

            每頁中記錄的數(shù)量也是需要考慮的內(nèi)容。DB2提供了一些有關頁尺寸的選項,例如4 KB, 8 KB, 16 KB和32 KB 。比較好的起點是選擇默認的4KB,特別是當行的尺寸相對較小,或是對數(shù)據(jù)的訪問比較隨機的情況下。然而,在一些情況下,也需要考慮較大的頁尺寸。如果表中單個行的長度超過4KB,那么你就需要使用大一些的頁尺寸,因為DB2不支持跨行的記錄。

             

            更有另一種情況是,當固定記錄的總長度比二分之一的頁(4KB)稍大一些的時候,一頁中就只能放置一個記錄。另外一種類似的情況是,固定記錄的總長度略長于三分之一頁、四分之一頁,等。這樣的設計不僅會浪費DASD空間,還會導致非常多的DB2操作消耗更多的資源。因此,對于上面描述的記錄而言,你需要考慮使用較大的頁尺寸,這樣就會相對地少浪費一些空間。

             

            另外一些可能的頁尺寸為8 KB, 16 KB和 32 KB。頁的尺寸并不在創(chuàng)建表(CREATE TABLE)的語句中直接寫明。相反,表中頁的尺寸是由分配給包含這個表的表空間的緩沖池中的頁尺寸決定的。要獲得更周詳?shù)男畔ⅲ隳軈⒖糄B2 SQL 手冊中有關創(chuàng)建表空間(CREATE TABLESPACE)語句的內(nèi)容。

             

            非標準化考慮事項

             

            邏輯數(shù)據(jù)模型是數(shù)據(jù)的一個最佳描述。物理數(shù)據(jù)模型則是數(shù)據(jù)在現(xiàn)實世界的實現(xiàn)。標準化只集中在數(shù)據(jù)的內(nèi)涵上面,而不考慮可能訪問數(shù)據(jù)的應用程式的性能需求。數(shù)據(jù)庫設計的充分標準化會帶來性能的挑戰(zhàn)。

             

            有關此類性能問題的一個非常常見的例子就是連接操作。通常情況下,標準化過程的結(jié)果是給各個獨立的表賦予相互關聯(lián)的信息。應用程式需要從這些表中訪問數(shù)據(jù)。關系數(shù)據(jù)庫提供了使用SQL語句來從多于一個的表中通過連接多個表去訪問信息的能力。取決于表的數(shù)目和他們各自的尺寸,連接操作可能會消耗非常多的資源和時間。

             

            因為在I/T中有如此多的事情需要考慮,于是出現(xiàn)了一個折中的想法。對那些包含被頻繁訪問列的多個表中的數(shù)據(jù)保存副本,和連接表的性能相比,成本高還是低呢?在邏輯數(shù)據(jù)庫設計過程中,對你的數(shù)據(jù)模型盡量的執(zhí)行標準化,之后再對其進行一定程度的非標準化,也許是進行潛在性能優(yōu)化的一個選項。如果你決定進行非標準化了,要確保從頭到尾地記錄了文件:對某些細節(jié)的描述、執(zhí)行非標準化步驟之后的推理,等。

             

            設計較大的表

             

            訪問非常大的DB2表需要消耗相當多的資源:CPU,內(nèi)存,I/O。當設計大表的時候,用戶需要做的兩件最重要的事情就是:

             

            實現(xiàn)分區(qū)

             

            創(chuàng)建有用的索引

             

            以上兩個問題將在下面進行周詳討論。

             

            使用分段或分區(qū)表空間

             

            如果數(shù)據(jù)中包含了LOB,那么用戶就必須創(chuàng)建LOB表空間。對于非LOB的數(shù)據(jù),通常的選擇是分段或分區(qū)表空間,具體選擇哪一個在非常大程式上取決于你要存儲的數(shù)據(jù)量,同時還需要考慮相關應用程式需求的數(shù)據(jù)訪問類型。不太推薦使用單一的表空間。

             

            分段表空間比單一的表空間具有更多的性能優(yōu)勢,如下所示:

             

            對于包含多于一個表的表空間,當DB2在一個表上獲得鎖定時,那個鎖定不影響其他表分段的訪問。

             

            當DB2掃描一個表時,只訪問和那個表相聯(lián)系的分段。此外,空分段的頁不會被取出。

             

            如果一個表被清除了,不必執(zhí)行REORG實用工具集,他的分段就即時在COMMIT點上變成可再次使用的狀態(tài)。

             

            如果一個表中的所有行被刪除了(被稱為塊刪除),不必執(zhí)行REORG實用工具集,所有的分段都即時在COMMIT點上變成可再次使用的狀態(tài)。

             

            塊刪除操作起來更加有效,并且書寫相當少的記錄信息。

             

            COPY(復制)實用工具集不復制由于塊刪除或表清除所造成的空頁。

             

            當表達到一個特定的尺寸,他們的可管理性和性能都能通過分區(qū)表空間獲得改善。如果你想獲得這方面的進展,在設計和創(chuàng)建時,以分區(qū)的形式定義表空間是個明智的做法。分區(qū)表空間的一些潛在優(yōu)勢列舉如下:

             

            并行性:你能利用三種類型的并行性,他們目前正應用于DB2 UDB。DB2 V3引入了查詢并行性(多個I/O路徑)。DB2 V4則實現(xiàn)了CP并行性(多CP之上的多任務)。DB2 UDB V5更是引入了系統(tǒng)查詢并行機制(多個DB2數(shù)據(jù)共享群之上的多任務)。DB2的發(fā)展進化,顯著提高了DB2應用程式處理分區(qū)表空間的并行處理能力。由于CPU時間的增加,這些查詢所消耗的時間也顯著的減少了。

             

            在數(shù)據(jù)的一部分上工作:分區(qū)表空間允許DB2應用程式一次運行數(shù)據(jù)的一個分區(qū),因而使其能夠同時運行另外分區(qū)上的另外的工作或應用程式。以同樣的方式,你能將塊UPDATE(更新)、DELETE(刪除)或INSERT(插入)操作分解為獨立的工作。除增加了可用性之外,這一技術也為完成這類DB2工作減少消耗的時間提供了可能。

             

            更快的訪問被頻繁訪問的數(shù)據(jù):如果分區(qū)索引能夠?qū)⒏嗟念l繁訪問的行從剩余的表中分離出來,然后將那些數(shù)據(jù)置于一個他自己的,并且應用更高速DASD設備的分區(qū)之內(nèi)。

             

            一般而言,表越大,就越應該將其創(chuàng)建為一個分區(qū)的表。不過也有一些實際例子表明為小表創(chuàng)建分區(qū)表空間是有利的。當查找表用于連接其他大分區(qū)表空間時,通過將查找表分區(qū),你能夠使并行性在連接中最大化。

             

            當你在連接謂詞中利用分區(qū)方法時,需要考慮一個決定性的因素。被連接在分區(qū)方法上的表應該具有相同的分區(qū)數(shù),并且應該設定為相同的值。

            日韩人妻无码一区二区三区久久99| 国内精品久久久人妻中文字幕| 久久综合九色综合久99| 国产精久久一区二区三区| 久久久人妻精品无码一区| 伊人久久一区二区三区无码| 囯产精品久久久久久久久蜜桃| 久久久久免费看成人影片| 久久精品人妻一区二区三区| 久久午夜免费视频| 国产精品久久网| 亚洲AV无一区二区三区久久| 久久996热精品xxxx| 久久精品水蜜桃av综合天堂| 欧美久久久久久精选9999| 2020久久精品亚洲热综合一本| 少妇人妻88久久中文字幕| 久久综合久久鬼色| 色综合久久久久网| 国产综合久久久久久鬼色| 久久伊人精品一区二区三区| 91久久成人免费| 精品精品国产自在久久高清| 亚洲中文久久精品无码| 亚洲精品美女久久久久99小说| 欧美亚洲另类久久综合| 2020久久精品国产免费| 久久久国产乱子伦精品作者| 久久无码专区国产精品发布| 四虎影视久久久免费| 久久国产乱子伦精品免费午夜| 久久精品男人影院| 久久精品这里热有精品| 97久久精品国产精品青草| 996久久国产精品线观看| 久久精品国产亚洲AV香蕉| 久久国产高潮流白浆免费观看| 奇米综合四色77777久久| 欧洲人妻丰满av无码久久不卡| 国产精品久久久久久久久久影院| 欧美日韩中文字幕久久久不卡|