摘要:很多醫院里,都建設了專門的信息系統,以實現內部數據的共享以及網絡化的管理。信息系統確實給醫院帶來了很大便利,但是由于信息的更新和數據量的增長,會導致系統性能下降。特別存在分院的情況,與數據庫之間的數據交互,因分院之間的數據傳輸速率制約,大大降低了系統性能。通過對系統間軟硬件的優化,提升醫院信息系統的穩定性和處理速度,提高系統對醫院的服務功能作用。
關鍵詞:交互;信息系統;數據庫;性能;優化
1引言
在醫院中,計算機的應用也越來越多,其中信息系統就已經成為了醫院實行現代化運營的技術支撐環境和基礎設施。醫院從事的是為大眾服務的行業,在醫療服務過程中,需要時刻對財流、人流和物流進行追蹤管理[1]。同時,還需要記錄患者醫療信息為中心的整個科學、醫療、科研活動。為了在醫療服務中利用計算機更好的為患者服務,如何提高信息系統的工作效率,是眼前迫切需要解決的問題。
2現在存在的問題
就硬件來說,醫院的發展導致多家分院的出現,各個分院之間的數據傳輸問題,嚴重影響數據庫與用戶之間的數據交互,導致系統性能的下降。另一方面,設備的老化和長時間的使用,導致計算機性能的下降。
就軟件來說,醫院的整套管理系統是集成了HIS、LIS、EMR等多個分系統,各個系統間的數據調用、查詢等存在不確定因素,針對應用程序的優化,可以進一步提升系統性能。另一方面,由于頻繁地對數據庫進行各種操作,導致性能下降。
3系統優化的探討
3.1硬件系統在原有設備的基礎是進行優化是一條比較可取的捷徑。
3.1.1 CPU與內存的優化CPU是服務器的一個重要部件,CPU運行的好壞直接關系著服務器的性能。可以通過任務管理器來查看服務器在高峰時期和平時CPU使用率,若高峰時超過90%,則服務器缺乏CPU資源,可以增加CPU的數量或提升主頻、減少服務器上負荷等方法優化數據庫服務器性能。
內存是與CPU溝通的橋梁,在任務管理器中可以查看內存的使用情況。一般來說,根據服務器上數據的大小和運行的環境來分配內存。在ORACLE數據庫,分配內存時,一般占50%~60%;對于SQL SERVER數據庫,沒有直接可以配置的空間,僅開放的配置只有是否使用AWE,以及實例占用的最大或最小內存,若不分配,則數據庫默認的最大內存為服務器的整個內存,從而影響服務器的性能。在查看內存使用情況時,若內存空閑可用空間較小時,可以通過增加內存條或虛擬內存來增加。
3.1.2終端(客戶機)優化對于終端,主要是面向醫護人員,在計算機的操作方面,有些人員對計算機的操作不是很熟悉。因此,可以定期對客戶機進行清理、重啟,保證客戶機的正常運行。
3.1.3網絡傳輸的優化(主要針對分院間的數據交互)在一家醫院間,數據傳輸的問題可以通過增加帶寬來解決,但是存在分醫院時,數據的傳輸速率,制約的醫院間的數據交互。因此,可以通過多點部署分服務器來嘗試解決。見圖1。
圖1
如圖1所示,可以把系統部署在各個服務器上,分服務器負責分院的正常運營,在后臺,通過數據同步,向主服務器寫數據,同時讀取主服務器上的差異數據。這樣,在既不影響醫院正常工作的情況下,還能分擔由于數據量的增大給系統帶來的壓力。
3.2軟件系統軟件系統分為數據庫、應用程序等部分。(在此以ORACLE數據庫例)。
3.2.1數據庫表空間的優化ORACLE數據庫所有的表都存儲在表空間中,一個表空間可以有多個數據文件,在進行數據存儲時,同時向各個數據文件寫數據。因此,表空間數據文件的多少和各個數據文件的數據增長,直接影響數據庫性能。
3.2.2應用程序池的優化在服務器中,多個應用程序同時運行,為了不影響各個應用程序,對應用程序進行歸類,放在不同的應用程序池中。同時注意應用程序池的托管管道模式,根據應用程序選擇經典或集成管道模式。
3.2.3磁盤I/O的優化數據庫在工作過程中要對服務器的磁盤進行讀取操作,磁盤的I/O速度對數據庫速度有著重要的影響,可通過減少磁盤競爭和I/O讀取次數,提高磁盤性能。使用磁盤陣列,在RAID環境中,數據放在多個磁盤,采用奇偶拆分、奇偶校驗,實現數據冗余、錯誤檢查、數據分聚和數據緩存,以便減少數據庫的I/O負荷。
3.2.4 SQL語句優化對于數據查詢,劣質SQL語句和優質SQL語句之間的速度存在差異,一條高質量的SQL語句,可以提高系統的效率。在多條件查詢語句中,進行合理排序,可以減少檢索時間。Oracle系統采用自后向前的順序解析Where子句,因此表之間的連接條件可以寫在其他查詢條件之前,而最具有選擇性的條件則必須寫在Where子句的末尾,這樣可以提高查詢的效率。
3.2.5索引優化在大型表中使用合適的索引,可以減少全表掃描,大幅度提高數據庫查詢的效率。但是不能用1作索引,任何包含nuII值的列都不會被包含在索引中,即若某列存在空值,即使對該列建索引也不會提高性能。建立索引應遵循以下的原則:在頻繁進行排序或分組(即進行order by或group by操作)的列上建立索引;在經常進行連接,但是在沒有指定為外鍵的列上建立索引;在不同值較多的列上建立索引。
4結論
系統隨著數據量的增加以及業務模型的改變[2],系統性能勢必會降低。而影響性能的因素是多方面的,如何綜合運用多種方法來提高數據庫的性能,需要管理人員在實踐工作中不斷總結和探索。
參考文獻:
[1]陳倩文.醫院數據庫系統的性能分析及優化經驗[J].醫療裝備,2009,11:24-26.
[2]張文峰,彭小斌.\"軍字一號\"工程數據庫系統優化分析[J].中國數字醫學.2008,3(1):52-53.
編輯/許言