如何提高SQL Server數據庫的性能,該從哪裡入手呢?筆者認為,該遵循從外到內的順序,來改善數據庫的運行性能。如下圖:
第一層:網絡環境。
到企業碰到數據庫反映速度比較慢時,首先想到的是是否是網絡環境所造成的。而不是一開始就想著如何去提高數據庫的性能。這是很多數據庫管理員的一個誤區。因為當網絡環境比較惡劣時,你就算再怎麼去改善數據庫性能,也是枉然。
如以前有個客戶,向筆者反映數據庫響應時間比較長,讓筆者給他們一個提高數據庫性能的解決方案。那時,筆者感到很奇怪。因為據筆者所知,這家客戶數據庫的記錄量並不是很大。而且,他們配置的數據庫服務器硬件很不錯。筆者為此還特意跑到他們企業去查看問題的原因。一看原來是網絡環境所造成的。這家企業的客戶機有200多台,而且都是利用集線器進行連接。這就導致企業內部網絡廣播泛濫,網絡擁塞。而且由於沒有部署企業級的殺毒軟件,網絡內部客戶機存在病毒,掠奪了一定的帶寬。不僅數據庫系統響應速度比較慢,而且其他應用軟件,如郵箱系統,速度也不理想。
在這種情況下,即使再花十倍、百倍力氣去提升SQL Server數據庫的性能,也是竹籃子打水一場空。因為現在數據庫服務器的性能瓶頸根本不在於數據庫本身,而在於企業的網絡環境。若網絡環境沒有得到有效改善,則SQL Server數據庫性能是提高不上去的。
為此,筆者建議這家企業,想跟他們的網絡管理員談談,看看如何改善企業的網絡環境,減少廣播包和網絡沖突;並且有效清除局域網內的病毒、木馬等等。三個月後,我再去回訪這家客戶的時候,他們反映數據庫性能有了很大的提高。而且其他應用軟件,性能也有所改善。
所以,當企業遇到數據庫性能突然降低的時候,第一個反應就是查看網絡環境,看看其實否有惡化。只有如此,才可以少走冤枉路。