DB2數(shù)據(jù)庫優(yōu)化過程中的實用策略的描述
此文章講述的是DB2數(shù)據(jù)庫優(yōu)化的實際操作步驟中需要我們大家掌握的幾條實用策略,假如你對DB2數(shù)據(jù)庫優(yōu)化的實際操作步驟中需要我們大家掌握的幾條實用策略有興趣的話你就可以點擊以下的文章進行觀看了。
在插入之前建立的話,在表插入數(shù)據(jù)的過程中,索引也隨著更新,這樣的話需要較大的日志空間,因此速度會比較慢,可以采用不計日志的方式插入;
本文用幾點了說明DB2數(shù)據(jù)庫優(yōu)化需掌握幾條基本策略。
1、對后續(xù)用到的表建立索引(注意在插入數(shù)據(jù)之前建立或者在插入后建立但是要runstats):
說明:插入之前建立的話,在表插入數(shù)據(jù)的過程中,索引也隨著更新,這樣的話需要較大的日志空間,因此速度會比較慢,可以采用不計日志的方式插入;數(shù)據(jù)差完之后再建立索引的話,該表的日志統(tǒng)計信息沒有更新,因此執(zhí)行計劃會很差,用不到索引,runstats on tabble asiainfo.aaaa and indexes all之后,索引統(tǒng)計信息就會更新,這樣執(zhí)行計劃會考慮到使用索引,因此速度快。
2、將比較大的表建在多節(jié)點的表空間上,同時建好索引:
說明:現(xiàn)有的db2數(shù)據(jù)倉庫每個節(jié)點使用2個CPU,4G內存,DIM表空間計劃是存放維表的表空間,因此是單節(jié)點的。在使用這個表空間的中的表的時候,最多只會用到2個CPU,4G內存,加上其他的表空間也都要用到這兩個CPU和這4G內存,因此資源比較有限。
建議較大的表不要放在這個表空間中,而是建立好分區(qū)鍵,放在多節(jié)點的表空間中,這樣檢索這個表的時候32個節(jié)點同時檢索,***匯總到0節(jié)點上進行展現(xiàn),速度當然會非常的快。另外,雖然32節(jié)點并行性好,但是如果建立好索引的話,速度會更快。
3、將插入的表使用不計日志的方式插入:
說明:數(shù)據(jù)庫為了保證數(shù)據(jù)的一致性和可回退性,插入、更新或者刪除數(shù)據(jù)的時候要計日志,這樣在失敗的時候可以回退,但是如果并發(fā)較多或者操作非常大的話,會導致爭搶日志的情況,導致操作非常緩慢。如果使用不計日志的方式進行插入、更新或者刪除操作的話,日志使用極少,但是如果操作失敗的話是無法回退的,這樣一致性得不到保證,這個表只能刪除重建!!!!
4、將表建立表級鎖,減少鎖數(shù)量的使用:
說明:數(shù)據(jù)庫的鎖的***數(shù)量是有限制的,并且每個鎖都要占一定的內存,因此如果鎖的數(shù)量非常多,使用的內存也就多,導致資源緊張。
5、建立臨時表的時候盡量只插入用的到的數(shù)據(jù),不插用不到的數(shù)據(jù):
說明:程序中好多地方為了提高速度,將用到的數(shù)據(jù)先插入到一個臨時表中,但是插入了非常多的沒有使用的數(shù)據(jù),這樣導致臨時表也非常大,所以盡可能的只向臨時表中插入用的到的數(shù)據(jù),并且盡可能的使用索引,可以大大的提高速度。
6、關于左關聯(lián)的一點使用心得:
在on的條件里面盡量的只寫關聯(lián)條件和對左關聯(lián)的表作限制,而對主表的限制不要寫在這里。如果寫在里面的話,不但速度非常慢,而且可能會出現(xiàn)莫名其妙的結果。以上的相關內容就是對DB2數(shù)據(jù)庫優(yōu)化的實際操作步驟中需要我們大家掌握的幾條實用策的介紹,望你能有所收獲。
【編輯推薦】
- 3個比較好用的建議對于DB2數(shù)據(jù)庫設計
- 把DB2V8升級到DB2V95的方案解剖
- DB2數(shù)據(jù)庫中正確更新執(zhí)行計劃的實際操作流程
- 使用DB2數(shù)據(jù)庫時哪些知識點是需要掌握的?
- DB2 9.7三大武器如何耍花招?