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