程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 對DB2數據庫性能上的錯誤理解有哪些?

對DB2數據庫性能上的錯誤理解有哪些?

編輯:DB2教程

以下的文章主要向大家描述的是DB2數據庫設計中其物理設計應該與邏輯結構的原因,其中主要原因包括DB2缺省就是好的,不要在SQL WHERE謂詞裡使用否定,以及依靠EXPLAIN來決定是否訪問路徑是好的內容描述。

DB2缺省就是好的

實際:缺省的一般不是最好的,他們因版本不同而改變。比如考慮綁定參數CURRENTDATA。

不要在SQL WHERE謂詞裡使用否定

實際:另外一個這種規則並沒有被解釋清楚。只有謂詞是一個否定時,SQL訪問路徑可能使用一個不必要的表空間掃描。但是在其它的多數情況下,多余的過濾應該在DB2引擎裡完成,這會較好。

我可以只依靠EXPLAIN來決定是否訪問路徑是好的

實際:EXPLAIN不顯示執行的查詢塊的順序,不會告訴你1或者2階段的謂詞,不會告訴你一個塊會多長時間執行一次。基本的,EXPLAIN只是導出一些數據到一個表裡,然後結合其他一些信息來進行更多的一些解釋。有一些工具來幫助處理此過程(如Visual Explain),但是如果所有的事實都沒有被考慮的話,這樣的方式只會帶來壞處。

不要做EDM池太大以避免其分頁

實際:EDM池通常通過分頁來提升DB2性能(這裡分頁是指擴展存儲,而不是磁盤)而不是變得更小並且因為頁面置換和其他因素持續重建內部結構。

擴展不會關系其他任何東西

實際:什麼時候開始的?未來如果世界上充滿了SAN或者ESS,那差不多。擴展的影響已經因為新的磁盤緩存控制器而變得很小了,但是仍然有一些額外的檢查和處理需要來管理它們。

關系的劃分不會在DB2中使用

實際:關系的劃分已經在過去的許多系統中被使用了,可以有效的通過數據庫設計者和程序開發者來實現。在目前的商業智能(BI)和市場系統中,它可以被數次用在每個單個程序中。

將所有的包綁定到兩個計劃中:一個批處理和一個在線的

實際:在介紹DB2包的時候,這是一個不好的陳述。有許多理由可以說這個理解是錯誤的。

未授權的讀是不好的

實際:未授權的讀並不是一個四字單詞但是是一個非常好的DB2數據庫性能增強,可以被用在比經常理解的更多的地方。

在沒有超時和死鎖的情況下不會有鎖問題

實際:事實上沒有一個問題發生並不意味著沒有需要關注的的性能問題。經常鎖定不被認為是一個問題,因為注意力主要放在反應的調節測量(統計死鎖或者超時的數量),而不是後發式的調節(監控鎖等待時間)。

ESA數據壓縮總是好的

實際:當壓縮能被在很多地方起作用時,有一些情況它能帶來問題。每種情況都要在壓縮使用前決定是否使用它。這不是可選的,而是必須要在高層決定是否使用還是不使用。

DB2缺省就是好的

實際:缺省的一般不是最好的,他們因版本不同而改變。比如考慮綁定參數CURRENTDATA。

不要在SQL WHERE謂詞裡使用否定

實際:另外一個這種規則並沒有被解釋清楚。只有謂詞是一個否定時,SQL訪問路徑可能使用一個不必要的表空間掃描。但是在其它的多數情況下,多余的過濾應該在DB2引擎裡完成,這會較好。

我可以只依靠EXPLAIN來決定是否訪問路徑是好的

實際:EXPLAIN不顯示執行的查詢塊的順序,不會告訴你1或者2階段的謂詞,不會告訴你一個塊會多長時間執行一次。基本的,EXPLAIN只是導出一些數據到一個表裡,然後結合其他一些信息來進行更多的一些解釋。有一些工具來幫助處理此過程(如Visual Explain),但是如果所有的事實都沒有被考慮的話,這樣的方式只會帶來壞處。

不要做EDM池太大以避免其分頁

實際:EDM池通常通過分頁來提升DB2性能(這裡分頁是指擴展存儲,而不是磁盤)而不是變得更小並且因為頁面置換和其他因素持續重建內部結構。

擴展不會關系其他任何東西

實際:什麼時候開始的?未來如果世界上充滿了SAN或者ESS,那差不多。擴展的影響已經因為新的磁盤緩存控制器而變得很小了,但是仍然有一些額外的檢查和處理需要來管理它們。

關系的劃分不會在DB2中使用

實際:關系的劃分已經在過去的許多系統中被使用了,可以有效的通過數據庫設計者和程序開發者來實現。在目前的商業智能(BI)和市場系統中,它可以被數次用在每個單個程序中。

將所有的包綁定到兩個計劃中:一個批處理和一個在線的

實際:在介紹DB2包的時候,這是一個不好的陳述。有許多理由可以說這個理解是錯誤的。

未授權的讀是不好的

實際:未授權的讀並不是一個四字單詞但是是一個非常好的性能增強,可以被用在比經常理解的更多的地方。

在沒有超時和死鎖的情況下不會有鎖問題

實際:事實上沒有一個問題發生並不意味著沒有需要關注的的DB2數據庫性能問題。經常鎖定不被認為是一個問題,因為注意力主要放在反應的調節測量(統計死鎖或者超時的數量),而不是後發式的調節(監控鎖等待時間)。

ESA數據壓縮總是好的

實際:當壓縮能被在很多地方起作用時,有一些情況它能帶來問題。每種情況都要在壓縮使用前決定是否使用它。這不是可選的,而是必須要在高層決定是否使用還是不使用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved