需要掌握的幾條基本策略DB2資料庫優化

2021-05-27 20:50:46 字數 1117 閱讀 9631

本文用幾點了說明db2資料庫優化需掌握幾條基本策略。

1.對後續用到的表建立索引(注意在插入資料之前建立或者在插入後建立但是要runstats):

說明:插入之前建立的話,在表插入資料的過程中,索引也隨著更新,這樣的話需要較大的日誌空間,因此速度會比較慢,可以採用不計日誌的方式插入;資料差完之後再建立索引的話,該錶的日誌統計資訊沒有更新,因此執行計畫會很差,用不到索引,runstatsontabble asiainfo.aaaa andindexesall之後,索引統計資訊就會更新,這樣執行計畫會考慮到使用索引,因此速度快。

2.將比較大的表建在多節點的表空間上,同時建好索引:

說明:現有的db2資料倉儲每個節點使用2個cpu,4g記憶體,dim表空間計畫是存放維表的表空間,因此是單節點的。在使用這個表空間的中的表的時候,最多隻會用到2個cpu,4g記憶體,加上其他的表空間也都要用到這兩個cpu和這4g記憶體,因此資源比較有限。建議較大的表不要放在這個表空間中,而是建立好分割槽鍵,放在多節點的表空間中,這樣檢索這個表的時候32個節點同時檢索,最後彙總到0節點上進行展現,速度當然會非常的快。另外,雖然32節點並行性好,但是如果建立好索引的話,速度會更快。

3.將插入的表使用不計日誌的方式插入:

說明:資料庫為了保證資料的一致性和可回退性,插入、更新或者刪除資料的時候要計日誌,這樣在失敗的時候可以回退,但是如果併發較多或者操作非常大的話,會導致爭搶日誌的情況,導致操作非常緩慢。如果使用不計日誌的方式進行插入、更新或者刪除操作的話,日誌使用極少,但是如果操作失敗的話是無法回退的,這樣一致性得不到保證,這個表只能刪除重建!

4.將表建立表級鎖,減少鎖數量的使用:

說明:資料庫的鎖的最大數量是有限制的,並且每個鎖都要佔一定的記憶體,因此如果鎖的數量非常多,使用的記憶體也就多,導致資源緊張。

5.建立臨時表的時候盡量只插入用的到的資料,不插用不到的資料:

說明:程式中好多地方為了提高速度,將用到的資料先插入到乙個臨時表中,但是插入了非常多的沒有使用的資料,這樣導致臨時表也非常大,所以盡可能的只向臨時表中插入用的到的資料,並且盡可能的使用索引,可以大大的提高速度。

6.關於左關聯的一點使用心得:

在on的條件裡面盡量的只寫關聯條件和對左關聯的表作限制,而對主表的限制不要寫在這裡。如果寫在裡面的話,不但速度非常慢,而且可能會出現莫名其妙的結果。

郭林專刊 DB2資料庫優化需要掌握的幾條基本策略

1.對後續用到的表建立索引 注意在插入資料之前建立或者在插入後建立但是要runstats 說明 插入之前建立的話,在表插入資料的過程中,索引也隨著更新,這樣的話需要較大的日誌空間,因此速度會比較慢,可以採用不計日誌的方式插入 資料差完之後再建立索引的話,該錶的日誌統計資訊沒有更新,因此執行計畫會很差...

了解DB2資料庫優化的幾條策略

1 對後續用到的表建立索引 注意在插入資料之前建立或者在插入後建立但是要runstats 說明 插入之前建立的話,在表插入資料的過程中,索引也隨著更新,這樣的話需要較大的日誌空間,因此速度會比較慢,可以採用不計日誌的方式插入 資料差完之後再建立索引的話,該錶的日誌統計資訊沒有更新,因此執行計畫會很差...

DB2基本概念的理解

db2基本概念的理解 1 例項 由一組程式和相應的執行環境所組成,它控制著外界對儲存在資料庫中的資料的訪問,並控制系統資源的使用。2 資料庫 關係型資料庫,沒什麼可說的。3 分割槽 也稱節點 分割槽是db2物理上組織儲存的機制,分割槽由從屬於它的資料庫物件所組成,它的實質在於物理的將資料分布到不同的...