規則四:根據備份的需要來規劃表空間。
當數據庫中的數據量比較多的時候,對數據庫進行備份是一項比價花時間的工作。為此對於大型的數據庫,管理員往往不會對整個數據庫進行備份。而是在表空間的級別上,進行單獨的備份。如此的話,就可以將數據庫備份的時間分開來,從而可以有效減少對數據庫正常作業產生的負面影響。
如以前有個客戶,他們的業務非常的頻繁,為此每天的數據都會有很大的增長。為了提高他們數據庫性能,筆者決定采用在表空間級別上進行備份的策略。根據數據庫繁忙程度的不同,分別在中午午休時間與晚上下班時間進行數據庫的備份作業。這家企業數據庫的空閒時間不讀,只有中午一個小時與晚上二個小時的空閒時間。而根據預測,要完成海量數據庫的備份,起碼需要150分鐘的時間。所以在空間時間內無法完成整個數據庫的備份。為此筆者只好在表空間級別上進行備份,即將整個數據庫的備份工作分散在這三個小時內完成。從而將數據庫備份對服務器產生的性能影響降低到最低。
規則五:根據表的大小來規劃表空間。
在整個數據庫中,表的大小往往會有很大的差異。有些表可能只有不到幾百條記錄;而有些表則往往有上百萬、上千萬條記錄。根據表記錄數量的不同,可以將表分為大表與小表。在規劃表空間的時候,這個就是需要考慮的一個因素。如可以將一些小表存放在一個單獨的表空間中,並且是存放到SMS類型的表空間。因為對於小表來說,其I/O對於其性能的影響並不是很大。然後對那些大表,並且需要進行快速訪問的,就需要選擇合適的DMS表空間。這主要是因為對於大表操作,往往會涉及到很多的輸入輸出,此時這個I/O往往會成為其性能的瓶頸。
可見,要將表映射到合適的表空間不是一件很容易的事情。這不僅要求數據庫管理員具有很深厚的技術功底,更重要的是要求他們有比較豐富的實際項目經驗。有時候這個項目經驗可能比固定的規則更加有用。所以希望數據庫管理在牢記上面這些規則的同時,要學會靈活應用。而不能夠在平時的工作中死搬硬套。如對於一些比較小型的應用,以上這些規則根據其不到應有的效果。相反,在這表空間設計上反而浪費了很多時間。故一般在比較大型的數據庫應用中才需要通過表空間規劃來提升數據庫性能。