新聞中心
我們今天主要向大家講述的是DB2性能調(diào)優(yōu)方面的12個疑難問題的全面解析,如果你對DB2性能調(diào)優(yōu)方面的12個疑難問題的全面解析有興趣了解的話,你就可以了解以下的文章了,以下就是文章的主要內(nèi)容的詳細描述。

專注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)靖遠免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
1、邏輯設(shè)計應該總是能和物理設(shè)計完全映射
實際:DB2數(shù)據(jù)庫設(shè)計中物理設(shè)計應該盡可能的和邏輯結(jié)構(gòu)相近,但是為性能做出的物理設(shè)計改變不能被忽略,因為它們并不來自于邏輯設(shè)計。
2、將所有東西放在一個緩沖池(BP0)中讓DB2管理
實際:就像在DB2手冊和其他地方說明的一樣,你只能在你的內(nèi)存非常受限的情況下(10000 4k pages或者更少),你沒有時間去管理它,你也沒有考慮到性能的條件下,去這樣做。***這樣說:不要放置除了DB2 catalog和目錄以外的東西進入BP0。
3、DSNDB07是100%順序的
實際:DSNDB07從來就不是100%順序的,因為有工作文件中的對頁面進行的隨機活動。隨即活動可能高達45%,但是通常范圍是3%到10%。
4、VARCHAR應該總是被放置在行末
實際:這就是總是引發(fā)問題的話。如果表總是被讀,并且非常少的更新,那么可以,這將會減少CPU負載,但是在其它情況下這樣做就是最壞的,甚至如果表是被壓縮的。只有在頻繁更新的情況下它應該被放置在末尾,但是并不通常這樣。
5、程序應該以遵循邏輯過程的方式編碼
實際:偽代碼或者一個邏輯過程圖并不需要考慮性能相關(guān)的編碼方式。在OLTP交易代碼中這非常具有戲劇性。
6、大多數(shù)過程不在SQL中進行
實際:事實上,問題的反面往往是正確的。SQL是一個非常豐富的語言,能夠處理大多數(shù)過程。實際上***的困難是SQL經(jīng)常被用來作為I/O處理器而不是一個集合處理器。
7、代碼和引用表應該和DB2聲明的referential integrity(RI)一起使用
實際:RI不應該作為一個編輯有效性的快捷方式而使用,這通常屬于別的什么,但是應該在真父子關(guān)系中使用。
8、表至多有一到兩個索引
實際:表應該按照性能需求擁有多個索引。
9、非分割索引(NPI)不應該被使用,尤其是不應該在大的表中使用
實際:這關(guān)系到數(shù)不清的問題,總體上這些都能被克服,但是NPI是對適當?shù)脑L問和性能非常必要的。
10、大表應該被分割
實際:因為一個表中有太多數(shù)據(jù)就意味著有性能下降,這是一個遺留的擔心。當一些表中有超過60億行數(shù)據(jù)時,這個理解已經(jīng)被消除了。
11、DB2缺省就是好的
實際:缺省的一般不是***的,他們因版本不同而改變。比如考慮綁定參數(shù)CURRENTDATA。
12、不要在SQL WHERE謂詞里使用否定
實際:另外一個這種規(guī)則并沒有被解釋清楚。只有謂詞是一個否定時,SQL訪問路徑可能使用一個不必要的表空間掃描。但是在其它的多數(shù)情況下,多余的過濾應該在DB2引擎里完成,這會較好。
文章題目:DB2性能調(diào)優(yōu)中的12個疑難問題的正確解析
鏈接地址:http://www.5511xx.com/article/dpdhhjh.html


咨詢
建站咨詢
