胡麗英
浙江省永康市婦幼保健院信息資料中心,浙江永康 321300
醫(yī)院信息系統(tǒng)數(shù)據(jù)庫(kù)sqlserver性能優(yōu)化措施
胡麗英
浙江省永康市婦幼保健院信息資料中心,浙江永康 321300
隨著改革開放的不斷深入及其國(guó)民經(jīng)濟(jì)的不斷發(fā)展,醫(yī)院的業(yè)務(wù)量也呈現(xiàn)出日益增長(zhǎng)的態(tài)勢(shì),醫(yī)院的信息系統(tǒng)也因?yàn)闃I(yè)務(wù)量的不斷增多而運(yùn)行緩慢,已經(jīng)遠(yuǎn)遠(yuǎn)的不能夠適應(yīng)醫(yī)院的需要。本文就將根據(jù)筆者的經(jīng)驗(yàn),簡(jiǎn)要的分析一下對(duì)醫(yī)院信息系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行性能優(yōu)化的幾點(diǎn)措施。現(xiàn)敘述如下。
醫(yī)院信息系統(tǒng);數(shù)據(jù);sqlserver ;性能優(yōu)化
在市場(chǎng)經(jīng)濟(jì)逐漸成熟的外部環(huán)境之下,醫(yī)院之間的競(jìng)爭(zhēng)也顯得愈加的激烈,在這種背景之下,醫(yī)院為了能夠在激烈的競(jìng)爭(zhēng)中得到長(zhǎng)遠(yuǎn)的發(fā)展,都紛紛的采用信息技術(shù)來(lái)加強(qiáng)醫(yī)院的管理,降低成本,提高效率,醫(yī)院信息系統(tǒng)的使用大大的方便了患者,縮短了患者等候治療的時(shí)間,但是醫(yī)院信息系統(tǒng)因?yàn)殡S著醫(yī)院業(yè)務(wù)量的增加存在著運(yùn)行緩慢等一些弊端,造成了一些不必要的經(jīng)濟(jì)損失。因此,在此種情況之下,醫(yī)院信息系統(tǒng)的優(yōu)化已經(jīng)越來(lái)越受到了重視。
Sqlserver數(shù)據(jù)庫(kù)在運(yùn)行的過程中會(huì)將事件的運(yùn)行日志記錄下來(lái),當(dāng)在運(yùn)行過程中數(shù)據(jù)庫(kù)出現(xiàn)錯(cuò)誤或者發(fā)生故障時(shí),管理員就可以通過查看sqlserver錯(cuò)誤日志,從而找到問題所在,進(jìn)而提出解決的辦法。
事件探查器是一項(xiàng)圖形化工具,可以對(duì)數(shù)據(jù)庫(kù)服務(wù)器的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)的跟蹤。在使用SQL Server事件探查器時(shí),事先應(yīng)明確所要探查的事件,之后再對(duì)所需要的數(shù)據(jù)字段進(jìn)行選擇,捕獲數(shù)據(jù)保存到SQL Server表中進(jìn)行分析。另外,也可以通過可用的模板創(chuàng)建一個(gè)跟蹤,并把跟蹤的結(jié)果保存到表格文件當(dāng)中進(jìn)行分析。
數(shù)據(jù)庫(kù)管理員可以通過Sqlserver數(shù)據(jù)庫(kù)查看當(dāng)前活動(dòng)的用戶,并且對(duì)用戶所占用的資源及其所阻塞的事件進(jìn)行分析,從而能夠清晰的了解到阻塞其它Sqlserver進(jìn)程的事件。
除了以上所說的常用的三種方法之外,還可以通過微軟公司推出的SQL Server健康和歷史工具進(jìn)行相關(guān)項(xiàng)的優(yōu)化,從而確定出SQL Server的資源使用情況;另外,還可以采用分析線程的工具,對(duì)某一個(gè)進(jìn)程里面的線程進(jìn)行分析,從而確定出準(zhǔn)確的故障地點(diǎn)。
醫(yī)院信息系統(tǒng)數(shù)據(jù)庫(kù)的優(yōu)化是醫(yī)院實(shí)現(xiàn)信息化管理的必經(jīng)環(huán)節(jié),在醫(yī)院信息系統(tǒng)的初期,醫(yī)院的業(yè)務(wù)量還沒有那么高,因此對(duì)于醫(yī)院信息系統(tǒng)數(shù)據(jù)庫(kù)的性能也沒有提出更高的要求,然而隨著醫(yī)院業(yè)務(wù)的不斷增加,系統(tǒng)的數(shù)據(jù)量越來(lái)越大,導(dǎo)致了信息系統(tǒng)運(yùn)行越來(lái)越緩慢,和醫(yī)院的發(fā)展不相協(xié)調(diào),因此對(duì)醫(yī)院信息系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行性能優(yōu)化就顯得極為有必要。
SQL Server2000及其以后升級(jí)的版本的內(nèi)存量的分配可以按照操作系統(tǒng)及其其它應(yīng)用程序目前正在使用的內(nèi)存量進(jìn)行動(dòng)態(tài)的確定,在這方面需要注意的是SQL Server最大使用的物理內(nèi)存及其最小使用的物理內(nèi)存的確定,其必須根據(jù)實(shí)際進(jìn)行調(diào)整配置,防止數(shù)據(jù)庫(kù)服務(wù)器上的其它應(yīng)用程序的正常使用;另一方面,對(duì)于sqlserver的用戶連接數(shù)的確定,同樣需要根據(jù)實(shí)際情況進(jìn)行調(diào)整和配置,如果用戶連接數(shù)過低,就會(huì)對(duì)應(yīng)用程序的連接造成一定程度上的影響,而要是用戶連接數(shù)過多,又會(huì)占據(jù)數(shù)據(jù)庫(kù)服務(wù)器過多的內(nèi)存資源。最后,sqlserver配置參數(shù)的優(yōu)化還可以根據(jù)實(shí)際對(duì)sqlserver的打開對(duì)象數(shù)進(jìn)行調(diào)整配置。
在進(jìn)行查詢時(shí)適當(dāng)?shù)臏p少子查詢及其臨時(shí)表的使用能夠有效的提高數(shù)據(jù)庫(kù)查詢語(yǔ)句的性能,另外還可以通過減少游標(biāo)的使用量來(lái)提高查詢語(yǔ)句的性能;如果你想要一個(gè)結(jié)果集時(shí),只要對(duì)你所需要的列進(jìn)行選擇,然后用where縮小查詢的結(jié)果,從而防止產(chǎn)生過大的結(jié)果集;在進(jìn)行數(shù)據(jù)的查詢時(shí),最好是選擇存儲(chǔ)過程或者視圖等方式來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問。另一方面,對(duì)于涉及到表的連接查詢問題的查詢語(yǔ)句,也就是說在相互交疊的不同數(shù)據(jù)集合中選擇用于連接的行時(shí)所采用的方法不一樣,因此從這點(diǎn)可以看出,在查詢時(shí)應(yīng)該注意表的連接查詢方式,避免在查詢時(shí)所使用的連接數(shù)據(jù)集合及其產(chǎn)生的結(jié)果集過大。
在進(jìn)行數(shù)據(jù)的查詢時(shí)一般都需要采取索引的方式,這樣可以有效的避免全盤的掃描,減少數(shù)據(jù)庫(kù)內(nèi)存的使用量,減少磁盤 I/O,從而大大的提高查詢的速度。在數(shù)據(jù)表的合適字段建立索引項(xiàng),在進(jìn)行數(shù)據(jù)的查詢時(shí),就能夠大大的提高數(shù)據(jù)表的查詢速度及其查詢效果。另外在查詢時(shí)需要注意的是,數(shù)據(jù)表索引項(xiàng)的建立不能夠亂建,否則會(huì)導(dǎo)致索引項(xiàng)的過多,這樣就不僅不能夠起到提高查詢速度的目的,反而還會(huì)降低查詢的速度。
除了以上所說的通過索引、配置參數(shù)、查詢語(yǔ)句優(yōu)化等三個(gè)方面對(duì)醫(yī)院數(shù)據(jù)信息系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行性能優(yōu)化之外,還可以通過以下的手段:
第一,可以將主要數(shù)據(jù)表當(dāng)中已經(jīng)生成的已經(jīng)有一定天數(shù)的歷史數(shù)據(jù)通過sqlserver任務(wù)定期的導(dǎo)入到歷史數(shù)據(jù)表當(dāng)中,通過這樣一種方式不僅能夠大大的減少當(dāng)前所使用的數(shù)據(jù)表的數(shù)據(jù)量,同時(shí)還能夠提高醫(yī)院信息系統(tǒng)數(shù)據(jù)庫(kù)的運(yùn)行速度;另外,如果需要對(duì)數(shù)據(jù)庫(kù)當(dāng)中的歷史數(shù)據(jù)進(jìn)行訪問時(shí),可以采用視圖關(guān)聯(lián)主表及其歷史數(shù)據(jù)表對(duì)歷史數(shù)據(jù)進(jìn)行查詢?cè)L問;
第二,在實(shí)際的操作過程中,還可以采用多種算法實(shí)現(xiàn)醫(yī)院信息系統(tǒng)數(shù)據(jù)庫(kù)的性能優(yōu)化,并且進(jìn)行橫向的比較,從而選取出一種占用資源最少、運(yùn)行效率最高的方法。
綜上所述,本文主要分析了醫(yī)院信息系統(tǒng)數(shù)據(jù)庫(kù)優(yōu)化所采用的工具及其方法,并且詳細(xì)的敘述了通過查詢方式優(yōu)化、索引及其配置參數(shù)等進(jìn)行醫(yī)院信息系統(tǒng)數(shù)據(jù)庫(kù) sqlserver性能優(yōu)化的措施。
總而言之,我們必須加強(qiáng)對(duì)醫(yī)院信息系統(tǒng)數(shù)據(jù)庫(kù)性能優(yōu)化的認(rèn)識(shí),而且能夠熟練的掌握及其運(yùn)用一些工具及其方法來(lái)找出出現(xiàn)的問題,并且在實(shí)際操作過程中應(yīng)根據(jù)不同的問題采取不同的方法,并且不斷的總結(jié)經(jīng)驗(yàn),提高自己的專業(yè)素質(zhì),從而使醫(yī)院信息系統(tǒng)數(shù)據(jù)庫(kù)能夠和醫(yī)院日益增長(zhǎng)的業(yè)務(wù)量相適應(yīng),使系統(tǒng)的性能得到大家的認(rèn)同。
[1]張浣虹.數(shù)據(jù)庫(kù)技術(shù)在醫(yī)院信息系統(tǒng)中的應(yīng)用探討[J].青島醫(yī)藥衛(wèi)生,2005(6).
[2]楊勁.數(shù)據(jù)庫(kù)管理系統(tǒng)在醫(yī)院信息系統(tǒng)設(shè)計(jì)和應(yīng)用中的優(yōu)化[J].北京生物醫(yī)學(xué)工程,2005(2).
[3]胡敏.維護(hù)數(shù)據(jù)庫(kù)高可用性確保醫(yī)院信息系統(tǒng)穩(wěn)定運(yùn)行[J].醫(yī)院數(shù)字化,2005(8).
[4]呂麗紅,路陽(yáng).淺談醫(yī)院信息系統(tǒng)中的數(shù)據(jù)庫(kù)[J].河南職工醫(yī)學(xué)院學(xué)報(bào),2005(4).
TP392
A
1674-6708(2012)59-0153-02